int > str
for i in range(1, n+1):
for j in str(i):
위 코드의 의미는 1부터 n까지의 숫자(int)를 만들고, 그 숫자들을 str로 변형한다는 뜻이다.
숫자 빈도수 문제에서는 입력된 d에 해당하는 숫자와 같은 숫자의 빈도를 체크하라고 했으니,
이중 for문 아래에 다음과 같이 작성해주면 된다.
전체 코드
n,d = map(int, input().split())
cnt = 0
for i in range(1, n+1):
for j in str(i):
if j == str(d):
cnt += 1
print(cnt)
프로그래밍을 C로 시작해서 그런지 원시적으로 코드를 짜는 습관이 없지 않아 있다..
다른 사람의 코드를 참고해보면 count함수를 써서 효율적으로 구현한 코드가 많았다.
앞으로 문제를 풀고 다른 사람의 코드를 많이 읽어봐야겠다.
'PS > BOJ&Programmers' 카테고리의 다른 글
[백준/1927] 최소 힙 (1) | 2022.12.23 |
---|---|
[백준/1874] 스택 수열 (0) | 2022.12.22 |
[백준/1157] 글자 공부 (0) | 2022.12.19 |
[백준/1001] A-B (0) | 2022.12.18 |
[백준/10171] 고양이 (0) | 2022.12.17 |