Notice
Recent Posts
Recent Comments
Link
빵 좋아하는 개발자🥐
[Java 자바] 프로그래머스 Level.0 코드 처리하기 본문
문제🔒
https://school.programmers.co.kr/learn/courses/30/lessons/181932
풀이 과정🔌
1. 문자열 code 를 문자 배열로 바꿔준다. 문자열 길이만큼 반복문을 돌면서 문자를 검사해야 할 거니까
char[] codeArr = code.toCharArray();
2. 초기모드 mode를 초기값 0으로 선언한다.
int mode = 0;
3. 먼저 모드가 0 일때와 1일 때로 조건을 각각 분리해서 if문으로 만들어줬고
그 조건문 안에서도 인덱스값이 홀수일 경우와 짝수일 경우로 조건을 분리해서 코드를 처리했다.
반복문을 다 돌고 난 후 빈 문자열일 경우에는 "EMPTY" 라는 문자열을 넣어줌
for(int i=0;i<codeArr.length;i++){
if(mode == 0){
if(codeArr[i] != '1'){
if(i % 2 == 0 || i == 0) answer = answer + codeArr[i];
}else{
mode = 1;
}
}else if(mode == 1){
if(codeArr[i] != '1'){
if(i % 2 == 1) answer = answer + codeArr[i];
}else{
mode = 0;
}
}
}
if(answer.equals("")) answer = "EMPTY";
풀이🔓
public class Solution {
public String solution(String code) {
String answer = "";
char[] codeArr = code.toCharArray();
//기본 시작 모드
int mode = 0;
for(int i=0;i<codeArr.length;i++){
if(mode == 0){
if(codeArr[i] != '1'){
if(i % 2 == 0 || i == 0) answer = answer + codeArr[i];
}else{
mode = 1;
}
}else if(mode == 1){
if(codeArr[i] != '1'){
if(i % 2 == 1) answer = answer + codeArr[i];
}else{
mode = 0;
}
}
}
if(answer.equals("")) answer = "EMPTY";
return answer;
}
}
지문에 적힌대로 직관적으로 코드를 짰는데 깔끔하고 영리하게(?) 작성한 거 같진 않아서 맘에 안 든다
근데 다른 게 생각이 안 나 . . . ㅋㅋㅋㅋㅋ 더 깔끔하게 짤 수 있을 것 같은디 -_-
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[Java 자바 프로그래머스] Lv.1 기사단원의 무기 (0) | 2023.08.15 |
---|---|
[Java 자바] 프로그래머스 level.0 문자열 섞기 (0) | 2023.08.06 |
[Java 자바] 프로그래머스 level.0 가까운 1 찾기 (0) | 2023.07.21 |
[Java 자바] 프로그래머스 level.0 문자열 겹쳐쓰기 (0) | 2023.07.12 |
[Java 자바] 프로그래머스 level.0 문자열 출력하기 (0) | 2023.07.07 |