반응형
https://www.acmicpc.net/problem/1436
N번째로 작은 종말의 숫자를 찾는 문제이다.
package main
import (
"bufio"
"fmt"
"os"
)
var writer = bufio.NewWriter(os.Stdout)
var reader = bufio.NewReader(os.Stdin)
func printf(f string, a ...interface{}) { fmt.Fprintf(writer, f, a...) }
func scanf(f string, a ...interface{}) { fmt.Fscanf(reader, f, a...) }
var endOfWorldNums = make([]int, 10004)
func checkThreepleSix(n int) bool {
for i := n; i > 0; i /= 10 {
if i%1000 == 666 {
return true
}
}
return false
}
func fillNums() {
count := 1
for i := 666; count <= 10000; i++ {
if checkThreepleSix(i) {
endOfWorldNums[count] = i
count++
}
}
}
func main() {
defer writer.Flush()
fillNums()
var n int
scanf("%d\n", &n)
printf("%d\n", endOfWorldNums[n])
}
'Study > algorithms' 카테고리의 다른 글
[백준] 2108 통계학 (0) | 2020.01.25 |
---|---|
[백준] 2751 수 정렬하기 golang (0) | 2020.01.25 |
[백준] 1018 체스판 다시 칠하기 (0) | 2020.01.24 |
[백준] 7568 덩치 (0) | 2020.01.22 |
[백준] 2231 분해합 (0) | 2020.01.21 |