이상한 문자 만들기

💡 이상한 문자 만들기

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

s return

"try hello world" "TrY HeLlO WoRlD"

입출력 예 설명

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

코드1

import java.util.*;

class Solution {
    public String solution(String s) {
      StringBuilder stringBuilder = new StringBuilder();
    int idx = 0;
    for (char c : s.toCharArray()) {
        if (c == ' ') {
            stringBuilder.append(c);
            idx = 0;
        } else {
            stringBuilder.append(idx % 2 == 0 ? Character.toUpperCase(c) : Character.toLowerCase(c));
            idx++;
        }
    }
    return stringBuilder.toString();
}
}
  1. c가 공백이 아닐때는 idx를 통하여 자리가 홀수인지 짝수인지 구분하여 대소문자를 구분한다.
  2. c가 공백이라면, 빌더에 추가한 후 idx를 초기화한다. 이렇게 하면 각 단어들의 인덱스를 구분할 수있다.

3진법 뒤집기

 💡 3진법 뒤집기

문제 설명

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.


제한사항

  • n은 1 이상 100,000,000 이하인 자연수입니다.

입출력 예

n result

45 7
125 229

나의 코드

class Solution {
    public int solution(int n) {
        int answer= 0;
        String step1 = Integer.toString(n,3);
        String step2 = new StringBuilder(step1).reverse().toString();
        return Integer.parseInt(step2,3);
    }
}

오늘의 학습 :

  • 숫자 number를 10진수에서 n진수로 변환하려면 Intger.toString(number,n)으로 하면 변환된다.
  • StringBuilder는 문자열을 뒤집을때 유용하다.
  • n진수 nNumber를 10진수로 변환하려면 Integer.parseInt(nNumber,n); 로 하면 된다.

'프로그래머스 > 자바 코딩테스트' 카테고리의 다른 글

23-06-27  (0) 2023.06.27
23-06-26  (0) 2023.06.26
23-06-22  (0) 2023.06.22
23-06-20  (0) 2023.06.20
23-06-18  (0) 2023.06.18

+ Recent posts