프로그래머스 코딩테스트, 3진법 뒤집기 (java, StringBuffer, Integer)

박한솔·2022년 11월 22일
0

프로그래머스 3진법 뒤집기 문제

level 1에다가 간단한 문제지만, Integer나 StringBuffer에 관한 활용이 없으면 꽤나 돌아갈 것 같은 문제다.

먼저 int 로 받아준 자연수 n 을 String 으로 변환해 준다.

이 때 Integer 안의 toString 메소드를 사용 해 주는데, 괄호 안에 (숫자, 숫자) 형식으로 작성하면 왼쪽의 숫자를 오른쪽 숫자의 진법으로 변환 하여 String으로 변경 해 준다.
(변환하는 이유는 StringBuffer를 통해 쉽게 뒤집어 주려고)

		String str = Integer.toString(n, 3);

그 다음 StringBuffer를 사용하여 문자열을 뒤집어 준다.
이 때 StringBuffer 객체를 만들어서 사용한다.

		StringBuffer sb = new StringBuffer(str);
		String reversedStr = sb.reverse().toString();

이러면 일단 3진법으로 변환하여 뒤집는데 까지는 성공.
다시 10진법으로 변환해야 하는데, 방법은 전과 비슷하다.
그런 다음 반환해주면 끝!

		int answer = Integer.parseInt(reversedStr,3);
        return answer;

여기까지다.

이 문제에서 나같은 초보자가 배워야 할 것들.

  • Integer 안의 메소드들을 충분히 활용 가능한가.
  • StringBuffer에 대한 이해도. (사용 하기만 하고 String과 뭐가 다른지에 대해서는 잘 모름)

인데 StringBuffer에 대해서는 나중에 따로 공부하여 포스팅 해야겠다.

profile
java 개발자를 준비하고 있습니다.

0개의 댓글