
Solution 1) 내 풀이
import java.util.Arrays;
import java.util.stream.Collectors;
class Solution {
public int solution(String myString, String pat) {
return Arrays.stream(myString.split(""))
.map(s -> s.equals("A") ? "B" : "A")
.collect(Collectors.joining())
.contains(pat) ? 1: 0;
}
}
문제 및 코드 리뷰
A와 B로 이루어진 문자열을 A ? B : A 로 바꿔서 또 다른 A와 B로만 이루어진 문자열 pat이 그 안에 속하는지 1 또는 0으로 반환하는 문제이다.
stream으로 풀어봤다.
- 문자열이 다행이도? 공백자 없이 붙어 있어 간단하게 split("") 해줬다.
- map에 삼항연산자로 A ? B : A 문자열을 재배열
- collect(Collectors.joining()) 으로 재배열 된 요소들을 결합
- contains(pat) ? 1 : 0 삼항 연산자를 이용해 해당 값을 반환
'연습문제 > 프로그래머스, 기초 트레이닝' 카테고리의 다른 글
| [프로그래머스 기초_java] 세 개의 구분 (1) | 2023.11.04 |
|---|---|
| [프로그래머스 기초_java] rny_string (1) | 2023.11.03 |
| [프로그래머스 기초_java] 간단한 식 계산하기 (1) | 2023.11.03 |
| [프로그래머스 기초_java] 문자열 잘라서 정렬하기 (0) | 2023.11.03 |
| [프로그래머스 기초_java] x사이의 개수 (1) | 2023.11.03 |