티스토리 뷰
문제 사이트
5525번: IOIOI
N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇
www.acmicpc.net
나의 코드
let n = Int(readLine()!)!
let m = Int(readLine()!)!
let s = readLine()!.map{ $0 } // Charactor Array로 바꾸기 -> Index 접근을 위해
var count = 0
var i = 0
var result = 0
while i < m-2 {
if String(s[i...i+2]) == "IOI"{
count += 1
i += 2 // OI가 아닌 IOI를 확인 따라서 2개만 이동
if count == n{ // IOIOI가 나왔다면 (IOI가 n번 나왔냐?)
count -= 1 // 다음 IOI가 나오는지 확인하기 위해
result += 1
}
} else {
i += 1
count = 0
}
}
print(result)
참고 사이트
[백준] 5525번 IOIOI
https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만..
black-hair.tistory.com
KeyPoint
📍 Charactor 형 배열로 입력받기
- Swift는 String형을 Index로 접근할 수 없다.
📍시간복잡도 계산하기.
- n = 2일 때 IOIOI가 몇번 나오는지 확인하는 방법으로 코드를 짰더니 50점이 나왔다..
반드시 계산식을 이용해서 구하자!
'Algorithm > Baekjoon' 카테고리의 다른 글
[Swift] 백준 1697: 숨바꼭질 (0) | 2022.04.23 |
---|---|
[Swift] 백준 10026: 적록색약 (0) | 2022.04.21 |
[Swift] 백준 2579: 계단 오르기 (0) | 2022.04.20 |
[Swift] 백준 11724: 연결 요소의 개수 (0) | 2022.04.20 |
[Swift] 백준 9375번: 패션왕 신혜빈 (0) | 2022.04.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- python
- 레플릿
- 깃허브
- baekjoon
- 16진수 입력
- CodeUp
- do while
- level1
- COMMIT
- Code up
- SwiftUI
- for문
- 파이썬
- Swift
- 코드업
- 백준
- 설명
- 이것이 코딩테스트다
- ord
- 프로그래머스
- 깃
- CHR
- 정답
- 반복문
- 리플릿
- 기초 100제
- 코드 업
- 부르트포스
- 시간초과
- replit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함