728x90
반응형
문제 설명
문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.
제한사항
● 1 ≤ myString의 길이 ≤ 100
● 1 ≤ pat의 길이 ≤ 10
○ myString과 pat는 문자 "A"와 "B"로만 이루어진 문자열입니다.
입출력 예
myString pat result
"ABBAA" "AABB" 1
"ABAB" "ABAB" 0
입출력 설명
입출력 예 #1
"ABBAA"에서 "A"와 "B"를 서로 바꾸면 "BAABB"입니다. 여기에는 부분문자열 "AABB"가 있기 때문에 1을 return 합니다.
입출력 예 #2
"ABAB"에서 "A"와 "B"를 서로 바꾸면 "BABA"입니다. 여기에는 부분문자열 "BABA"가 없기 때문에 0을 return 합니다.
내 풀이
Java
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
String str = "";
for(int i = 0; i < myString.length(); i++){
if(myString.charAt(i) == 'A'){
str += "B";
}else str += "A";
}
if(str.contains(pat)) answer = 1;
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* myString, const char* pat) {
int answer = 0;
char* ptr = myString;
int i = 0;
for(i = 0; i < strlen(myString); i++){
if(myString[i] == 'A'){
ptr[i] = 'B';
}else ptr[i] = 'A';
}
if(strstr(ptr, pat) != NULL) answer = 1;
return answer;
}
Python
def solution(myString, pat):
answer = 0
str = ""
for i in myString:
if i == 'A':
str += 'B'
else:
str += 'A'
if pat in str:
answer = 1
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181864
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] rny_string (0) | 2025.02.08 |
---|---|
[코딩테스트 Lv.0] 세 개의 구분자 (0) | 2025.02.08 |
[코딩테스트 Lv.0] 배열의 원소만큼 추가하기 (0) | 2025.01.29 |
[코딩테스트 Lv.0] 빈 배열에 추가, 삭제하기 (0) | 2025.01.22 |
[코딩테스트 Lv.0] 배열 만들기 6 (0) | 2024.12.11 |