Google 태그 관리자 아이콘

알고리즘 풀이

.leetcode(709. To Lower Case)

silvergoni 2022. 1. 17. 08:45
반응형

https://leetcode.com/problems/to-lower-case/

 

1. 2022.01.17 시도

소요시간: 5분

class Solution {
    public String toLowerCase(String s) {
              
        String newWord = "";
        for (int i=0; i<s.length(); i++) {
            if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
                newWord += (char)(s.charAt(i) + ('a' - 'A'));
            } else {
                newWord += s.charAt(i);
            }
        }

        return newWord;
    }
}

풀이 접근 과정

ascii값을 몰라서 System.out.println으로 숫자를 보고나서 그 이후에 대문자인 경우만 추려내어 소문자로 바꾸는 작업을 하였다.

 

느낀점

  • 소문자가 더 ascii값이 크구나
  • 'A'에 32를 더하면 'a'가 된다.
  • 문자같이 제한적인 범위가 나올때는 한번쯤 선언해두고 풀어보는 방법도 좋다. 솔루션을 참고한 내용이지만 이 풀이가 더 간단하고 좋다는 얘기는 아니다. 한번쯤 이렇게도 고민해볼 수 있다는 식이다.
class Solution {
    public String toLowerCase(String s) {
        String upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String lower = "abcdefghijklmnopqrstuvwxyz";
        Map<Character, Character> upperMap = new HashMap<>();
        for (int i=0; i<upper.length(); i++) {
            upperMap.put(upper.charAt(i), lower.charAt(i));
        }
              
        StringBuilder sb = new StringBuilder();
        for(int i=0; i<s.length(); i++) {
            sb.append(upperMap.containsKey(s.charAt(i)) ? upperMap.get(s.charAt(i)) : s.charAt(i));
        }
        return sb.toString();
    }
}

알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형

 

'알고리즘 풀이' 카테고리의 다른 글

.leetcode(844. Backspace String Compare)  (0) 2022.01.22
.leetcode(844. Backspace String Compare)  (0) 2022.01.22
.leetcode(704. Binary Search)  (0) 2022.01.17
.leetcode(112. Path Sum)  (0) 2022.01.16
.leetcode(7. Reverse Integer)  (0) 2022.01.16