๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๋ฌธ์ž์—ด ์••์ถ• ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๋ฌธ์ž์—ด ์••์ถ•

์š”์ผ์ด 2021. 4. 21. 00:40
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

1. ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด

import java.util.*;
import java.io.*;

public class Main {
	
	public String solution(String input) {
		// ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด
        String result = "";
		// ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€ ์ €์žฅํ•˜๋Š” ์นด์šดํ„ฐ
		int count = 1;
		// ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๊ฒฐ๊ณผ๊ฐ’์— ์ €์žฅ
		result = result + input.charAt(0);
		
        // ๋‘๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ
		for(int i=1; i<input.length(); i++) {
			// ์ด์ „ ๋ฌธ์ž์™€ ์ง€๊ธˆ ๋ฌธ์ž๊ฐ€ ๊ฐ™์„๊ฒฝ์šฐ
			if(input.charAt(i-1) == input.charAt(i)) {
				// ์นด์šดํ„ฐ ++
                count++;
                // ๋งŒ์•ฝ ๋ฌธ์ž ์ธ๋ฑ์Šค๊ฐ€ ๋งˆ์ง€๋ง‰์ผ๊ฒฝ์šฐ ์นด์šดํ„ฐ๋ฅผ ๊ฒฐ๊ณผ์— ์ž…๋ ฅ
				if(i==input.length()-1) {
					result = result + Integer.toString(count);
				}
			// ์ด์ „๋ฌธ์ž์™€ ๋‹ค๋ฅผ๊ฒฝ์šฐ
            }else {
            	// ์นด์šดํ„ฐ๊ฐ€ 1์ด์ƒ์ผ ๊ฒฝ์šฐ
            	if(count > 1) {
					result = result + Integer.toString(count) + input.charAt(i);
				// ์นด์šดํ„ฐ๊ฐ€ 1์ผ ๊ฒฝ์šฐ
                }else {
					result = result + input.charAt(i);
				}
                // ์นด์šดํ„ฐ ์ดˆ๊ธฐํ™”
				count = 1;
			}
				
		}
		
		return result;
	}

	public static void main(String args[]) {
        Main main = new Main();
		// ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค
		Scanner in= new Scanner(System.in);
        // ์ฒซ์ค„ ๋ฌธ์ž์—ด
		String input = in.next();
		System.out.print(main.solution(input)); 
	}

}

2. ๋ฌธ์ž์—ด ๋งˆ์ง€๋ง‰์— ๊ณต๋ฐฑ์„ ๋„ฃ์–ด์ค˜์„œ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๊ตฌํ˜„

import java.util.*;
import java.io.*;

public class Main {
	
	public String solution(String input) {
		String result = "";
		
		input = input + " ";
		int cnt = 1;
		for(int i=0; i<input.length()-1; i++) {
			if(input.charAt(i) == input.charAt(i+1)) {
				cnt ++;
			}else {
				result += input.charAt(i);
				if(cnt > 1) {
					result += String.valueOf(cnt);
					cnt = 1;
				}
			}
		}
		
		return result;
	}

	public static void main(String args[]) {
        Main main = new Main();
		// ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค
		Scanner in= new Scanner(System.in);
        // ์ฒซ์ค„ ๋ฌธ์ž์—ด
		String input = in.next();
		System.out.print(main.solution(input)); 
	}

}
Comments