본문 바로가기
코딩테스트/Cos Pro 1급 Java

[Cos Pro 1급 Java] [1차] 문제4) 타임머신

by drCode 2021. 3. 15.
728x90
반응형

 

안녕하세요.

이번 포스팅은 Cos Pro 1급 Java 1차 4번 문제 타임머신을 준비했습니다.

 

edu.goorm.io/learn/lecture/17301/cos-pro-1%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/839398/1%EC%B0%A8-%EB%AC%B8%EC%A0%9C4-%ED%83%80%EC%9E%84%EB%A8%B8%EC%8B%A0-java

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

※ 프로그램 구현문제

□ 문제설명

어느 누군가가 타임머신을 타고 과거로 가서 숫자 0이 없는 수 체계를 전파했습니다. 역사가 바뀌어 이제 사람들의 의식 속엔 0이란 숫자가 사라졌습니다. 따라서, 현재의 수 체계는 1, 2, 3, ..., 8, 9, 11, 12, ...와 같이 0이 없게 바뀌었습니다.

0을 포함하지 않은 자연수 num이 매개변수로 주어질 때, 이 수에 1을 더한 수를 return 하도록 solution 함수를 완성해주세요.


□ 매개변수 설명

자연수 num이 solution 함수의 매개변수로 주어집니다.

  • num은 1 이상 999,999,999,999,999,999 이하의 0을 포함하지 않는 자연수입니다.

□ return 값 설명

자연수 num에 1을 더한 수를 return 해주세요.


□ 예시

num return
9949999 9951111

□ 예시설명

9,949,999에 1을 더하면 9,950,000이지만 0은 존재하지 않으므로 9,951,111이 됩니다.

 

 

※ 문제 풀이 방식

(1) 파라미터로 받은 수에 1을 더합니다.

(2) 1을 더한 수를 문자열로 바꿉니다.

(3) 모든 0은 1로 바꿔줍니다. replaceAll을 사용

(4) Long.parseLong을 사용하여 값을 반환합니다.

 

import java.util.*;

class Main {
    public long solution(long num) {
        num += 1;
	String str = String.valueOf(num);
	str = str.replaceAll("0", "1");
        long answer = Long.parseLong(str);
        return answer;
    }

	// 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다.
    public static void main(String[] args) {
        Main sol = new Main();
        long num = 9949999;
        long ret = sol.solution(num);

        // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
        System.out.println("solution 메소드의 반환 값은 " + ret + " 입니다.");
    }
}

 

728x90
반응형

댓글