728x90
    
    
  인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/01-12
 - 문제 설명 : 암호문을 이진수로 변환하고 그 이진수를 문자로 변환하는 문제
- 문자열의 문자 '#'은 이진수 1로 문자 '*'은 이진수 0으로 변환
 - 변환된 문자열을 7자리씩 잘라서 하나의 2진수로사용
 - 각각 2진수를 문자로 변환하여 최종적으로 문자열을 반환한다.
 
 
입출력 예시
입력 예시
4
#****###**#####**#####**##** 
출력 예시
COOL
내 풀이
- 2진수 -> 10진수 : Integer.parseInt(문자열, 진법)
 - subString(), replace() 메서드 사용
 
public class Main1_12 {
    public static String solution(int n, String s) {
        StringBuilder sb = new StringBuilder();
        String binary = s.replace("#", "1").replace("*", "0");
        for (int i = 0; i < n; i++) {
            char c = (char) Integer.parseInt(binary.substring(i*7, i*7+7), 2);
            sb.append(c);
        }
        return sb.toString();
    }
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        String s = br.readLine();
        System.out.println(solution(n, s));
    }
}
강의 풀이
- 내 풀이와 같은 방식으로 풀이
 
import java.util.*;
class Main {    
    public String solution(int n, String s){
        String answer="";
        for(int i=0; i<n; i++){
            String tmp=s.substring(0, 7).replace('#', '1').replace('*', '0');
            int num=Integer.parseInt(tmp, 2);
            answer+=(char)num;
            s=s.substring(7);
        }
        return answer;
    }
    public static void main(String[] args){
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        int n=kb.nextInt();
        String str=kb.next();
        System.out.println(T.solution(n, str));
    }
}'알고리즘 문제풀이' 카테고리의 다른 글
| [알고리즘/인프런] 2-2 보이는 학생(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.11 | 
|---|---|
| [알고리즘/인프런] 2-1 큰 수 출력하기(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.10 | 
| [알고리즘/인프런]1-11 문자열 압축(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 | 
| [알고리즘/인프런]1-10 가장 짧은 문자거리(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 | 
| [알고리즘/인프런]1-9 숫자만 추출(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.06 | 
댓글