코딩 테스트 (Java)/코딩 기초 트레이닝 (프로그래머스)

181875. 배열에서 문자열 대소문자 변환하기

가지코딩 2025. 4. 18. 09:42

https://school.programmers.co.kr/learn/courses/30/lessons/181875

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제

문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.

 

 

제한사항

  • 1 ≤ strArr ≤ 20
    • 1 ≤ strArr의 원소의 길이 ≤ 20
    • strArr의 원소는 알파벳으로 이루어진 문자열 입니다.

 

입출력 예

strArr result
["AAA","BBB","CCC","DDD"] ["aaa","BBB","ccc","DDD"]
["aBc","AbC"] ["abc","ABC"]

 

입출력 예 #1

  • strArr[0]strArr[2]는 짝수번째 인덱스의 문자열이므로 모두 소문자로 바꿔서 "aaa"와 "ccc"가 됩니다.
  • strArr[1]strArr[3]는 홀수번째 인덱스의 문자열인데 원래 대문자이므로 그대로 둡니다.
  • 따라서 ["aaa","BBB","ccc","DDD"]를 return 합니다.

입출력 예 #2

  • strArr[0]은 짝수번째 인덱스의 문자열이므로 소문자로 바꿔서 "abc"가 됩니다.
  • strArr[1]은 홀수번째 인덱스의 문자열이므로 대문자로 바꿔서 "ABC"가 됩니다.
  • 따라서 ["abc","ABC"]를 return 합니다.

 


풀이

import java.util.stream.IntStream;

class Solution {
    public String[] solution(String[] strArr) {
        return IntStream.range(0, strArr.length)
            .mapToObj(i -> (i % 2 == 0) ? strArr[i].toLowerCase() : strArr[i].toUpperCase())
            .toArray(String[]::new);
    }
}

 

 

 


GitHub: https://github.com/gajicoding/coding_test/edit/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/181875.%E2%80%85%EB%B0%B0%EC%97%B4%EC%97%90%EC%84%9C%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%E2%80%85%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90%E2%80%85%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0

 

coding_test/프로그래머스/0/181875. 배열에서 문자열 대소문자 변환하기 at main · gajicoding/coding_t

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - gajicoding/coding_test

github.com


출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr