728x90
https://www.acmicpc.net/problem/1120
문제접근
- 문자열 A와 B의 다른점의 최소값을 묻는 문제
- A의 길이가 B보다 작으면 A의 앞뒤에 문자를 붙임
아이디어
- 어차피 최소값을 묻는 문제이므로 굳이 문자열 A에 문자를 붙여가며 비교할 필요 없이 문자열 B를 A의 범위만큼 돌면서 차이점이 최소가 될때를 찾으면 됨(어차피 앞뒤로 B랑 같은 문자를 붙였을때가 최소이므로)
구현
import java.util.*
fun main(args: Array<String>): Unit = with(Scanner(System.`in`)) {
val (A, B) = readLine()!!.split(" ")
var ans = A.length
for (i in 0..(B.length - A.length)) {
var tmp = 0
for (j in A.indices) {
if (A[j] != B[j + i]) tmp++
}
if (ans > tmp) ans = tmp //최소값 저장
}
print(ans)
}
비고
아이디어를 떠올리는 건 쉬웠는데 순간 이거 구현을 어떻게 하더라 했음...구현력이 좋아야 아이디어를 떠올리기도 쉬운듯
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
백준 1418 k-세준수(Kotlin) (0) | 2023.01.30 |
---|---|
백준 1531 - 투명(Kotlin) (0) | 2023.01.29 |
백준 1439번 - 뒤집기(Kotlin) (0) | 2023.01.29 |
백준 1343 - 폴리오미노(Kotlin) (0) | 2023.01.29 |
백준 1316 - 그룹 단어 체커(kotlin) (0) | 2023.01.29 |