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 |
Tags
- javascript
- 데이터베이스실무
- 정처기
- 혼자공부하는자바
- 기록
- 비전공자 #코딩공부 #혼자공부하는자바 #혼공자 #자바 #기록 #정리
- 혼공자
- 정처기실기
- 코딩테스트
- Algorithm
- 비전공자
- java
- 데이터베이스
- 비전공자 #코딩공부 #혼자공부하는자바 #혼공자 #자바 #정리 #기록
- 알고리즘
- 개발자
- javaAlgorithm
- github
- 비전공자 #자바공부 #혼자공부하는자바 #혼공자 #자바 #기록 #정리
- 수제비
- 정보처리기사
- 정리
- programmers
- python
- 파이썬
- 자바
- 정보처리기사실기
- 자바알고리즘
- GIT
- 음악
Archives
- Today
- Total
This is a blog.
이상한 문자 만들기 본문
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
| s | return |
| "try hello world" | "TrY HeLlO WoRlD" |
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
내가 푼 답 - Java
class Solution {
public String solution(String s) {
String answer = "";
String[] arr = s.split("");
int index = 0;
for(int i=0; i<arr.length; i++){
String ch = " ";
if(!arr[i].isBlank()) {
if(index % 2 == 0){
ch = arr[i].toUpperCase();
} else if(index % 2 != 0){
ch = arr[i].toLowerCase();
}
index++;
} else {
index = 0;
}
answer += ch;
}
return answer;
}
}
// ------------------------------------------------------------------------------------------
// 위와 같은 코드 간략하게 작성.
class Solution {
public String solution(String s) {
String answer = "";
String[] arr = s.split("");
int index = 0;
for(int i=0; i<arr.length; i++){
String ch = " ";
if(!arr[i].isBlank()) {
ch = index % 2 == 0 ? arr[i].toUpperCase() : arr[i].toLowerCase();
index++;
} else {
index = 0;
}
answer += ch;
}
return answer;
}
}
코딩테스트 후기
1) 테스트 케이스는 통과했으나 '제출 후 채점하기'에서는 70% 정도밖에 성공하지 않아 원인을 찾았다. 알고 보니 "(공백)try(공백)hello(공백)world "과 같이 공백이 첫 번째 단어 앞에도 올 수 있었던 것이다.
2) 공백체크는 isBlank() 메서드로 한다.
'RECORD > Programmers' 카테고리의 다른 글
| 3진법 뒤집기 (0) | 2023.03.26 |
|---|---|
| 같은 숫자는 싫어 (0) | 2023.03.26 |
| 최대공약수와 최소공배수 (0) | 2023.03.25 |
| 직사각형 별찍기 (0) | 2023.03.25 |
| 행렬의 덧셈 (0) | 2023.03.25 |
Comments