Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 2748 자바
- 10807 자바
- 10813 자바
- dfs
- 백준
- 자바 1003
- IAM 사용자
- 자바 2164
- 코딩테스트
- BFS
- 2798 자바
- 28278 스택 2
- 10810 자바
- 자바 28278
- 백준 2346 자바
- 자바 10866
- 그리디
- 2346 풍선 터뜨리기
- 백준 10866 자바
- 데보션영 3기
- 1764 자바
- IAM Identity Center
- 백준 28278 자바
- 2164 자바
- 1010 자바
- 파이썬
- 자바 2346
- 백준 1764 자바
- 티움투어
- 자바
Archives
- Today
- Total
자두의 데브로그
[자바] 프로그래머스 이상한 문자 만들기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12930#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
처음에 이해했을 때는 되게 쉽겠구나 싶어서 풀었는데 결국 풀다 풀다 모르겠어서 힌트를 봤다. 이 문제의 핵심은 문자열을 이루는 단어들 사이에 "하나 이상의 공백문자"를 가지고 있다는 것이었다. 이걸 생각을 못하고 s.split(" ")으로 무조건 단어 사이에 하나의 공백만 존재하는 줄 알고 풀었으나 완벽히 틀린 방법이었다.
다시 푼 방법은 s의 모든 문자를 쪼개서 arr에 저장하고, idx가 0이 되면 %2 할 때 division 오류가 발생해서 idx를 1부터 시작하면서도 처음부터 공백인지 확인하고, 공백이라면 1로, 공백이 아니라면 2로 증가시켜서 짝수번째 인덱스인지 홀수번째 인덱스인지 확인 가능하도록 코드를 작성했다. 개인적으로 이 문제를 .. 코테에서 만났다면 처음에 이해한대로 풀고 맞았다고 자신했을 것 같다는 생각에 코테의 길은 멀고도 험하구나... 다시 한 번 느끼게 되었다..
import java.util.*;
class Solution {
public String solution(String s) {
String[] arr = s.split("");
String answer = "";
int idx = 1;
for(String a : arr){
if(a.contains(" ")) idx = 1;
else idx++;
if(idx % 2 == 0) answer += a.toUpperCase();
else answer += a.toLowerCase();
}
return answer;
}
}
문제 좀 잘 보고 풀자 ^^
'코딩테스트 > Java' 카테고리의 다른 글
[자바] 프로그래머스 완주하지 못한 선수 (3) | 2024.10.09 |
---|---|
[자바] 프로그래머스 N개의 최소공배수 (1) | 2024.10.08 |
[자바] 프로그래머스 두 개 뽑아서 더하기 (3) | 2024.10.06 |
[자바] 프로그래머스 문자열 내림차순으로 배치하기 (0) | 2024.10.04 |
[자바] 프로그래머스 카펫 (0) | 2024.10.01 |