728x90
반응형
안녕하세요.
이번 포스팅은 Cos Pro 1급 java 5차 기출 문제 중 6번 문제인 p진법 to q진법을 풀어보겠습니다.
□ 문제설명
p 진법으로 표현한 수란, 각 자리를 0부터 p-1의 숫자로만 나타낸 수를 의미합니다. p 진법으로 표현한 자연수 두개를 더한 결과를 q 진법으로 표현하려 합니다.
예를 들어, 3진법 수 112001과 12010을 더한 결과를 8진법으로 나타내면 1005입니다.
solution 함수의 매개변수로 p 진법 자연수를 담은 문자열 s1, s2와 두 수를 나타내는 진법의 기수 p, 두 수의 덧셈 결과를 표현할 진법의 기수 q가 매개변수로 주어집니다. p진법으로 표현된 두 수를 더한 결과를 q 진법으로 나타낸 값을 return 하도록 solution 함수를 완성해주세요.
□ 매개변수 설명
p 진법으로 자연수를 담은 문자열 s1, s2와 두 수를 표현한 진법의 기수 p, 두 수의 덧셈 결과를 표현할 진법의 기수 q가 solution 함수의 매개변수로 주어집니다.
- p와 q는 2 이상 10 이하인 자연수입니다.
- s1과 s2의 길이는 1 이상 9 이하입니다.
- s1과 s2의 원소는 '0', '1', '2', …, ‘p-1’로만 구성됩니다.
- s1이나 s2가 ‘0’인 경우는 주어지지 않습니다.
□ return 값 설명
두 수를 더한 결과를 q 진법으로 나타낸 값을 문자열로 return 하도록 solution 함수를 완성해주세요.
□ 예시
s1 | s2 | p | q | return |
"112001" | "12010" | 3 | 8 | "1005" |
□ 예시설명
문제에 나온 예와 같습니다.
※ 문제 접근 방법
(1) 먼저 입력된 두 문자열을 10진수로 변환합니다.
(2) 10진수로 변환한 두 수를 더합니다.
(3) 더한 수를 q진법으로 변환합니다.
package pToQ;
public class PToQ {
public static void main(String[] args) {
Main sol = new Main();
String s1 = new String("112001");
String s2 = new String("12010");
int p = 3;
int q = 8;
String ret = sol.solution(s1, s2, p, q);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("solution 메소드의 반환 값은 \"" + ret + "\" 입니다.");
}
}
class Main {
public String solution(String s1, String s2, int p, int q) {
String answer = "";
int i1 = 0, i2 = 0, asc = 0;
for (int i = s1.length() - 1; i >= 0; i--) {
i1 += Integer.parseInt(s1.substring(i, i+1)) * Math.pow(p, asc);
asc++;
}
asc = 0;
for (int i = s2.length() - 1; i >= 0; i--) {
i2 += Integer.parseInt(s2.substring(i, i+1)) * Math.pow(p, asc);
asc++;
}
int sum = i1 + i2;
while(sum > 0) {
answer = String.valueOf(sum % q) + answer;
sum /= q;
}
return answer;
}
}
728x90
반응형
'코딩테스트 > Cos Pro 1급 Java' 카테고리의 다른 글
[Cos Pro 1급 java] [6차] 문제2) 단어를 순서대로 적으세요 (0) | 2021.03.22 |
---|---|
[Cos Pro 1급 java] [6차] 문제1) 꽃피는 봄이 언제 오나요 (0) | 2021.03.22 |
[Cos Pro 1급 java] [5차] 문제5) 몬스터 잡기 (0) | 2021.03.22 |
[Cos Pro 1급 java] [4차] 문제10) 소수의 세제곱이 몇개가 있나요 - 에라스토테네스의 체 사용 (0) | 2021.03.22 |
[Cos Pro 1급 java] [3차] 문제5) 전광판 문구 출력 (0) | 2021.03.17 |
댓글