티스토리 뷰
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/120888
2. 풀이
코테에서 중복을 한번에 처리하는 Set은 흔하게 사용되는데, 이번 문제는 선입선출이 필요했다.
즉, 순서가 있다는 말인데 Set은 순서를 보장하지 않는다. 다행히 자바에서는 LinkdedHashSet이라는 순서를 보장해주는 Set 자료구조가 있어 이를 활용해 풀었다.
다른사람 코드를 둘러보던 중 chars가 stream처럼 동작한다는 걸 알게되었다. 그리고 확실히 stream게열이 자바에서는 직관적이고 좋은 개발방법인것 같다.
String의 세부사항을 처리하는데 활용해봐야겠다.
너무 오랜만의 코테라 레벨 0부터 감을 잡아가고 있는데, 생각보다 공부가 많이 된다.
3. 코드
내 답안
import java.util.LinkedHashSet;
class Solution {
public String solution(String my_string) {
LinkedHashSet<String> set = new LinkedHashSet<>();
String[] arr = my_string.split("");
for(String s : arr) {
set.add(s);
}
return String.join("", set);
}
}
인상깊었던 답안(pursue503)
import java.util.stream.Collectors;
class Solution {
public String solution(String my_string) {
return my_string.chars()
.mapToObj(Character::toString)
.distinct()
.collect(Collectors.joining());
}
}
'개발 > 코딩테스트' 카테고리의 다른 글
백준 문제에서 Java의 표준 입출력이 시간 초과가 나는 이유.. (0) | 2024.04.09 |
---|---|
코딩 테스트 문제 정리 - Stack (Gold 이하 문제) (0) | 2024.04.08 |
프로그래머스 120907. OX퀴즈 (JAVA) (0) | 2023.02.25 |
프로그래머스 120902. 문자열 계산하기 (JAVA) (0) | 2023.02.25 |
프로그래머스 120911. 문자열 정렬하기 (2) (JAVA) (0) | 2023.02.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- S3
- docker
- Spring
- CloudFront
- Log
- 후쿠오카
- GIT
- 스프링부트
- AOP
- OpenFeign
- MySQL
- 람다
- 오블완
- terraform
- 티스토리챌린지
- cache
- elasticsearch
- Elastic cloud
- springboot
- java
- ChatGPT
- Kotlin
- lambda
- AWS EC2
- AWS
- openAI API
- OpenAI
- JWT
- EKS
- serverless
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함