04-29 23:27
Recent Posts
Recent Comments
관리 메뉴

miinsun

[Algorithm]μ•Œκ³ λ¦¬μ¦˜ μžλ°”_12 μ•”ν˜Έ λ³Έλ¬Έ

Algorithm/Java

[Algorithm]μ•Œκ³ λ¦¬μ¦˜ μžλ°”_12 μ•”ν˜Έ

miinsun 2022. 1. 3. 12:30

 

πŸ’¬ λ¬Έμ œ μ„€λͺ…

ν˜„μˆ˜λŠ” μ˜ν¬μ—κ²Œ μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œ κ΅¬μ„±λœ λΉ„λ°€νŽΈμ§€λ₯Ό 맀일 컴퓨터λ₯Ό μ΄μš©ν•΄ λ³΄λƒ…λ‹ˆλ‹€. λΉ„λ°€νŽΈμ§€λŠ” ν˜„μˆ˜μ™€ μ˜ν¬κ°€ μ„œλ‘œ μ•½μ†ν•œ μ•”ν˜Έλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

λΉ„λ°€νŽΈμ§€λŠ” μ•ŒνŒŒλ²³ ν•œ λ¬Έμžλ§ˆλ‹€ # λ˜λŠ” *이 일곱 개둜 κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½ ν˜„μˆ˜κ°€ “#*****#”으둜 κ΅¬μ„±λœ 문자λ₯Ό λ³΄λƒˆλ‹€λ©΄ μ˜ν¬λŠ” ν˜„μˆ˜μ™€ μ•½μ†ν•œ κ·œμΉ™λŒ€λ‘œ λ‹€μŒκ³Ό 같이 ν•΄μ„ν•©λ‹ˆλ‹€.

1. “#*****#”λ₯Ό 일곱자리의 μ΄μ§„μˆ˜λ‘œ λ°”κΏ‰λ‹ˆλ‹€. #은 μ΄μ§„μˆ˜μ˜ 1둜, *μ΄μ§„μˆ˜μ˜ 0으둜 λ³€ν™˜ν•©λ‹ˆλ‹€. κ²°κ³ΌλŠ” “1000001”둜 λ³€ν™˜λ©λ‹ˆλ‹€.
2. 바뀐 2μ§„μˆ˜λ₯Ό 10μ§„μˆ˜ν™” ν•©λ‹ˆλ‹€. “1000001”을 10μ§„μˆ˜ν™” ν•˜λ©΄ 65κ°€ λ©λ‹ˆλ‹€.
3. μ•„μŠ€ν‚€ λ²ˆν˜Έκ°€ 65문자둜 λ³€ν™˜ν•©λ‹ˆλ‹€. 즉 μ•„μŠ€ν¬λ²ˆν˜Έ 65λŠ” λŒ€λ¬Έμž 'A'μž…λ‹ˆλ‹€. 참고둜 λŒ€λ¬Έμžλ“€μ˜ μ•„μŠ€ν‚€ λ²ˆν˜ΈλŠ” 'A'λŠ” 65번, ‘B'λŠ” 66번, ’C'λŠ” 67번 λ“± μ°¨λ‘€λŒ€λ‘œ 1μ”© μ¦κ°€ν•˜μ—¬ ‘Z'λŠ” 90λ²ˆμž…λ‹ˆλ‹€.

ν˜„μˆ˜κ°€ 4개의 문자λ₯Ό λ‹€μŒκ³Ό 같이 μ‹ ν˜Έλ‘œ λ³΄λƒˆλ‹€λ©΄
#****###**#####**#####**##**

이 μ‹ ν˜Έλ₯Ό 4개의 λ¬Έμžμ‹ ν˜Έλ‘œ κ΅¬λΆ„ν•˜λ©΄
#****## --> 'C'
#**#### --> 'O'
#**#### --> 'O'
#**##** --> 'L'

μ΅œμ’…μ μœΌλ‘œ “COOL"둜 ν•΄μ„λ©λ‹ˆλ‹€.
ν˜„μˆ˜κ°€ 보낸 μ‹ ν˜Έλ₯Ό ν•΄μ„ν•΄μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•΄μ„œ 영희λ₯Ό λ„μ™€μ£Όμ„Έμš”.

 

 

 

πŸ”¨ μž…μΆœλ ₯ 예

μž…λ ₯ - 첫 μ€„μ—λŠ” 보낸 문자의 개수(10을 λ„˜μ§€ μ•ˆμŠ΅λ‹ˆλ‹€)κ°€ μž…λ ₯λœλ‹€. λ‹€μŒ μ€„μ—λŠ” 문자의 개수의 일곱 λ°° 만큼의 #λ˜λŠ” * μ‹ ν˜Έκ°€ μž…λ ₯λ©λ‹ˆλ‹€. ν˜„μˆ˜λŠ” 항상 λŒ€λ¬Έμžλ‘œ 해석할 수 μžˆλŠ” μ‹ ν˜Έλ₯Ό 보낸닀고 κ°€μ •ν•©λ‹ˆλ‹€.

4
#****###**#####**#####**##**

좜λ ₯ - μ˜ν¬κ°€ ν•΄μ„ν•œ λ¬Έμžμ—΄μ„ 좜λ ₯ν•©λ‹ˆλ‹€.

COOL

 

 

​

πŸ’» Solution.java

import java.util.Scanner;
  
public class Main {
	public String solution(int n ,String str) {
		String answer = "";
		
		for(int i = 0; i < n ; i ++) {
			String tmp = str.substring(0, 7).replace('#', '1').replace('*', '0');
			int num = Integer.parseInt(tmp, 2);
			answer += (char) num;
			str =  str.substring(7); // 7λΆ€ν„° 제일 λ’€κΉŒμ§€ 자λ₯΄κΈ°
		}
		
		return answer;
	}
	
	public static void main(String[] args){
		Main main  = new Main();
		Scanner sc =new Scanner(System.in);
		int n = sc.nextInt();
		String str = sc.next();
		
		System.out.println(main.solution(n, str));
		sc.close();
		return ;
	}
}

 

 

 

Comments