[코테12]

byeol·2022년 11월 3일
0

코딩테스트

목록 보기
11/42

✔️ 나의 답-> 맞음

import java.util.*;

public class p12 {
  public static String solution(int in ,String input){
    input= input.replace("#","1");
    input= input.replace("*","0");   
    int startNum =-1;
    String answer="";
    String [] input_ = input.split("");
    for(int i=0;i<in;i++){
           int sum=0;
           startNum +=7;
           for( int j=0;j<7;j++){
              sum += Integer.parseInt(input_[startNum-j])*Math.pow(2,j);
            }
           answer+=String.valueOf((char)sum);
        }
          return answer;
    }

  public static void main(String[] args){
    Scanner kb = new Scanner(System.in);
    int in = kb.nextInt();
    String input = kb.next();
    System.out.println(solution(in,input));
   }
}

  • Integer.parseInt(String) : 안에 char이 들어올 수 없음
  • 아스키 문자로 바꾸는 법 : 정수형을 char로 형변환

✔️ 강의 답

import java.util.*;

public class p12 {
  public static String solution(int in ,String input){
   String answer="";
   for(int i=0;i<in;i++) {
	   String tmp = input.substring(0,7).replace("#","1").replace("*","0");
	   int num = Integer.parseInt(tmp,2);
	   answer+=(char)num;
	   input=input.substring(7);  
       }
    return answer;
   }

  public static void main(String[] args){
    Scanner kb = new Scanner(System.in);
    int in = kb.nextInt();
    String input = kb.next();
    System.out.println(solution(in,input));
   }
}
  • 2진수의 문자열을 10진수의 정수로 바꾸는 법 : Integer.parseInt(2진수의 문자열,2);
profile
꾸준하게 Ready, Set, Go!

0개의 댓글