코드 그라데이션
[Lv.0] 문자열 바꿔서 찾기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/181864
+5점 문제
문제 설명
문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다.
myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중
pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.
제한사항
입출력 예
입출력 예 설명
아이디어
- my_string / pat A 또는 B
- 바꾼 문자열에서 연속하는 부분 중, pat 있으면 1, 없으면 0
- 치환을 쓰기엔 무리가 있는 게 뭐냐면, A를 B로 바꾸고 나면, B를 다시 A로 바꾸는 작업도 해야하는데, 한 번 하면 다 바꿔버리니까... 난잡...
- 유클리드 호제법의 방법을 쓸 수도 있지만, 더 복잡.
- replace()의 단점은 문자열 전체를 바꾼다는 것(범위 지정 불가)
- 문자열을 추가할 때는 더하기 연산.(+=)
정리하면
- 1. 두 문자를 바꾸고
- 2. 포함 여부를 검사해서 리턴
- A 이면서 B인 것은 없으니까, 한 번의 반복문으로 다 처리 가능.
나의 코드
class Solution {
public int solution(String myString, String pat) {
String answer = "";
for(int i=0; i<myString.length(); i++) {
if(myString.charAt(i) == 'A') {
answer += "B";
}
else {
answer += "A";
}
}
if(answer.contains(pat)) {
return 1;
}
else {
return 0;
}
}
}
728x90
'Java > 알고리즘' 카테고리의 다른 글
[얄코] MySQL 2-2. JOIN : 여러 테이블 조립하기 (0) | 2023.06.11 |
---|---|
[얄코] MySQL Section 2-1 쿼리 안의 서브쿼리 (0) | 2023.06.10 |
[Lv.0] 로그인 성공? (2) | 2023.06.10 |
[얄코] MySQL 1-4. 시간, 날짜 관련 함수들 (0) | 2023.06.09 |
[얄코] MySQL 1-3. 숫자와 문자열을 다루는 함수들 (0) | 2023.06.09 |
Comments