반응형
https://www.acmicpc.net/problem/2941
- 문제
해설
문자열을 입력받은 후 i로 인덱스에 접근할 거다.
i를 1씩 증가시키며 표에 나와있는 크로아티아 알파벳이 존재한다면 i를 (크로아티아 알파벳 길이 - 1)만큼 증가시킨다.
i는 항상 1씩 증가하기 때문에 (크로아티아 알파벳 길이 - 1)만큼 증가시킨다.
코드
c
#include <stdio.h>
#include <string.h>
int main() {
char s[101];
int ans = 0, i = 0;
scanf("%s", s);
while (i < strlen(s)) {
if (s[i] == 'c') {
if (s[i + 1] == '=')
i++;
else if (s[i + 1] == '-')
i++;
}
else if (s[i] == 'd') {
if (s[i + 1] == '-')
i++;
else if (s[i + 1] == 'z' && s[i + 2] == '=')
i += 2;
}
else if (s[i] == 'l') {
if (s[i + 1] == 'j')
i++;
}
else if (s[i] == 'n') {
if (s[i + 1] == 'j')
i++;
}
else if (s[i] == 's') {
if (s[i + 1] == '=')
i++;
}
else if (s[i] == 'z') {
if (s[i + 1] == '=')
i++;
}
ans++;
i++;
}
printf("%d", ans);
}
c++
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
int ans = 0, i = 0;
while (i < s.length()) {
if (s[i] == 'c') {
if (s[i + 1] == '=')
i++;
else if (s[i + 1] == '-')
i++;
}
else if (s[i] == 'd') {
if (s[i + 1] == '-')
i++;
else if (s[i + 1] == 'z' && s[i + 2] == '=')
i += 2;
}
else if (s[i] == 'l') {
if (s[i + 1] == 'j')
i++;
}
else if (s[i] == 'n') {
if (s[i + 1] == 'j')
i++;
}
else if (s[i] == 's') {
if (s[i + 1] == '=')
i++;
}
else if (s[i] == 'z') {
if (s[i + 1] == '=')
i++;
}
ans++;
i++;
}
cout << ans;
}
반응형
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[BOJ/백준] 25314번 코딩은 체육과목 입니다 - [c/c++]풀이 (0) | 2023.03.02 |
---|---|
[BOJ/백준] 11382번 꼬마 정민 - [c/c++] 풀이 (0) | 2023.02.27 |
[BOJ/백준] 5622번 다이얼 - [c/c++] 풀이 (0) | 2022.10.19 |
[BOJ/백준] 2908번 상수 - [c/c++] 풀이 (1) | 2022.10.18 |
[BOJ/백준] 1152번 단어의 개수 - [c/c++] 풀이 (1) | 2022.10.18 |
댓글