문제 풀이/Baekjoon Online Judge

[Baekjoon - 23080] 스키테일 암호

hibye1217 2023. 2. 13. 14:00

난이도: Bronze III

 

태그

더보기
  • String (문자열)

 

풀이

1. 출력되는 글자는?

더보기

입력된 문자열을, 굵기 \( K \)로 묶었다고 생각해봅시다.

그럼, 처음으로 나오는 글자는 1번째 글자가 됩니다.

그 다음으로 읽어야 하는 글자는, 한 바퀴를 돌아야 하니 \( K \)개 이후의 글자, 즉 \( 1+K \)번째 글자가 되겠죠.

 

위 과정을 반복하면, \( 1 + cK \)번째 글자만 읽으면 됨을 알 수 있습니다.

 

2. 코드

더보기
1
2
3
4
void Main(){
    int k; string s; cin >> k >> s; int sl = s.size();
    for (int i = 0; i < sl; i+=k){ cout << s[i]; }
}
cs