IJY
느리더라도 꾸준히
IJY
전체 방문자
오늘
어제
  • 분류 전체보기 (67)
    • Develop (67)
      • Java (8)
      • Go (0)
      • Test (1)
      • Web (1)
      • HTML, CSS (1)
      • TIL(Today I Learned) (18)
      • SQL (0)
      • Algorithm (27)
      • 회고 (7)
      • Troubleshooting (1)
      • Etc (3)
    • Etc (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • 소수 찾기
  • REST Assured
  • stream
  • 초기화
  • API 예외 처리
  • MVC
  • instance
  • recursion
  • sort
  • 회고
  • Spring
  • 알고리즘
  • BufferedReader
  • web
  • Filter
  • init
  • EntityTransaction
  • object
  • 재귀
  • Interceptor
  • 프로그래머스
  • PostConstruct
  • 독후감
  • html
  • java
  • 12921
  • Class
  • 우테코 온보딩
  • 백준
  • BufferedWriter

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
IJY

느리더라도 꾸준히

Develop/Algorithm

우테코 온보딩 - Problem 4

2022. 11. 9. 11:56

우테코 온보딩 - Problem 4 문제 풀이

 

문제 설명

어느 연못에 엄마 말씀을 좀처럼 듣지 않는 청개구리가 살고 있었다. 청개구리는 엄마가 하는 말은 무엇이든 반대로 말하였다.

엄마 말씀 word가 매개변수로 주어질 때, 아래 청개구리 사전을 참고해 반대로 변환하여 return 하도록 solution 메서드를 완성하라.

| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |

제한사항
- word는 길이가 1 이상 1,000 이하인 문자열이다.
- 알파벳 외의 문자는 변환하지 않는다.
- 알파벳 대문자는 알파벳 대문자로, 알파벳 소문자는 알파벳 소문자로 변환한다.

 

문제의 자세한 내용은 해당 링크를 통해 확인 : 문제 링크

 

풀이 코드

package onboarding;

public class Problem4 {
    public static String solution(String word) {
        StringBuilder result = new StringBuilder();
        for(char c : word.toCharArray()) {
            if(c == ' ') {
                result.append(c);
            } else if(c >= 'a' && c <= 'z') {
                result.append((char)('z' - c + 'a'));
            } else if(c >= 'A' && c <= 'Z'){
                result.append((char)('Z' - c + 'A'));
            }
        }
        return result.toString();
    }
}

 

문제 해결 전략

이라 쓰고 문제를 보고서 어떻게 풀면 될까?에 대한 생각을 정리한 항목

해당 문제는 A는 Z, B는 Y 와 같이 정 반대로 바뀌는 것을 보고 아스키 코드를 사용하여 풀면 될 것 같다고 생각

아스키 코드를 이용하여 Z에서 입력 받은 문자의 차이를 구하여 'A'에 더하면 원하는 문자가 나오게 되므로 이를 StringBuilder 변수에 추가

하지만 공백(' ')의 경우엔 변환을 할 필요가 없으므로 그대로 StringBuilder 변수에 추가

변환 종료 후 StringBuilder 변수를 String으로 변환하여 반환

 

Map을 이용하여 해결하는 방법 : 방법 1, 방법 2


코드를 업로드해 둔 깃 허브

'Develop > Algorithm' 카테고리의 다른 글

우테코 온보딩 - Problem 6  (0) 2022.11.09
우테코 온보딩 - Problem 5  (0) 2022.11.09
우테코 온보딩 - Problem 3  (2) 2022.11.09
우테코 온보딩 - Problem 2  (0) 2022.11.09
우테코 온보딩 - Problem 1  (0) 2022.11.09
    'Develop/Algorithm' 카테고리의 다른 글
    • 우테코 온보딩 - Problem 6
    • 우테코 온보딩 - Problem 5
    • 우테코 온보딩 - Problem 3
    • 우테코 온보딩 - Problem 2
    IJY
    IJY
    개발 관련 공부한 내용을 정리하는 블로그입니다. 느리더라도 꾸준히 포스팅을 하려고 노력합니다.

    티스토리툴바