일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 백준 14938번 서강그라운드
- 백준 1541
- 18111번 마인크래프트 - java 구현
- 프로그래머스
- hash
- map
- 최소 힙 1927
- ac 5430번
- HashSet
- 백준 2473번 세 용액 - java
- kotlin
- dp
- 백준 2467번 용액 자바 - 이분탐색
- 코틀린기초
- 프로그래머스 java
- 백준 1647번 도시 분할 계획 - java
- 프로그래머스 자바
- replace()
- 백준 3190번
- 백준 1043번 거짓말 - java 분리 집합
- Stack
- Java
- append
- toUpperCase
- StringTokenizer
- HashMap
- mysql hy000 에러
- 백준 1806번 부분합 java
- StringBuilder
- 백준 1197번 최소 스패닝 트리 - java
Archives
- Today
- Total
말하는 컴공감자의 텃밭
프로그래머스 코드처리하기 <6점> - 자바(java) StringBuilder, append, charAt 본문
알고리즘/Programmers - Java
프로그래머스 코드처리하기 <6점> - 자바(java) StringBuilder, append, charAt
현콩 2023. 5. 13. 19:40728x90
프로그래머스 코드처리하기
프로그래머스 코드처리하기
문제가 이해가 안되서 손으로 써가면서 이해했네요,, 껄껄~
정리하자면
code가 주어지고, 문자열은 1과 알파뱃으로 구성되어 있습니다.
mode가 존재하며 0과 1에 따라 조건이 주어지고, code[idx]에 따라 문자열을 추가할지 결정해야합니다.
mode가 0인 경우, idx가 짝수일때 문자열을 추가.
mode가 1인 경우, idx가 홀수일때 문자열을 추가합니다.
만약 1을 만나게 될경우 모드를 전환합니다. ex) 0 > 1, 1 > 0
시작할때는 0으로 시작하며, ret가 비어있다면 "EMPTY"를 출력합니다.
조건에 따라 코드를 작성해봅시다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.util.*; class Solution { public String solution(String code) { StringBuilder ret = new StringBuilder(); int mode = 0; for (int i = 0; i<code.length(); i++){ if (code.charAt(i) == '1'){ mode = (mode == 1) ? 0 : 1; }else if(mode == 1 && i % 2 != 0){ ret.append(code.charAt(i)); }else if(mode == 0 && i % 2 == 0){ ret.append(code.charAt(i)); } } if (ret.length() == 0) { ret.append("EMPTY"); } return ret.toString(); } } | cs |
StringBuilder를 사용했고, 문자 비교와 조건을 따져서 append로 ret에 추가해줬습니다.
ret.length()가 0이라면 비어있는것 이므로, EMPTY를 넣어줬습니다.
간단쓰 간단쓰
물론 StringBuilder를 사용하지 않고도 code.charAt(i) 를 ret에 바로 넣으면서도 가능합니다.
ret += code.charAt(i);
728x90
'알고리즘 > Programmers - Java' 카테고리의 다른 글
프로그래머스 개인정보 수집 유효기간 <4점> - 자바(java) ArrayList (0) | 2023.05.20 |
---|---|
프로그래머스 구슬을 나누는 경우의 수 <7점> - 자바(java) 조합 Biginteger (1) | 2023.05.13 |
프로그래머스 수열과 구간쿼리 2 <2점> - 자바(java) Collections.sort (0) | 2023.05.13 |
백준 10102번 개표 - 파이썬(python3) count (0) | 2023.05.11 |
프로그래머스 부분 문자열인지 확인하기 - 자바 (java) contains (0) | 2023.05.04 |
Comments