[백준 / BOJ] 2941번 크로아티아 알파벳 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 14:39
Table of Contents
반응형
링크 : https://www.acmicpc.net/problem/2941
문제
문제 풀이
처음에는 아무 다른 알파벳도 들어가도 되나 싶어서 푸는 데 조금 오래 걸렸던 문제이다.
C++ 상세 풀이
더보기
우선 find함수를 쓰기 위해 vector을 선언해 안에 크로아티아 알파벳들을 넣어준다. 그 후, 크로아티아 알파벳이 없을때 까지 반복한다.
크로아티아 알파벳을 찾는다면 느낌표로 변경해서 출력 조건인 알파벳 갯수를 좀 더 쉽게 알수 있도록 한다.
vector<string> arr = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
for (int i = 0; i < len; i++) {
while (true) {
val = str.find(arr[i]);
if (val == string::npos)
break;
str.replace(val, arr[i].length(), "!");
}
}
cout << str.length();
여기서 string:npos는 해당 글을 참고하면 좋을 듯하다.
Python 상세 풀이
더보기
replace 메서드를 사용해 쉽게 해결이 가능하다.
arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
text = input()
for i in text:
text = text.replace(i, "!")
코드 전문
C++
Python
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 1712번 손익분기점 (C++, Python) (0) | 2022.01.18 |
---|---|
[백준 / BOJ] 1316번 그룹 단어 체커 (C++, Python) (0) | 2022.01.17 |
[백준 / BOJ] 5622번 다이얼 (C++, Python) (0) | 2022.01.17 |
[백준 / BOJ] 2908번 상수 (C++, Python) (0) | 2022.01.17 |
[백준 / BOJ] 1152번 단어의 개수 (C++, Python) (0) | 2022.01.17 |
@Reo :: 코드 아카이브
자기계발 블로그