[파이썬 풀이] 24039번: 2021은 무엇이 특별할까? - 백준

2022. 7. 19. 05:23· 🌀 알고리즘(Algorithm)/백준(문제 풀이)
728x90
반응형

백준 24039번:  2021은 무엇이 특별할까?

알고리즘 분류: 수학, 정수론, 소수 판정

파이썬(Python) 풀이

 

링크: https://www.acmicpc.net/problem/24039

문제

백준 온라인 저지의 송년대회 Good Bye BOJ, 2021!의 개최일은 2021년 12월 31일이다. 원이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2021이 무언가 특별하다는 사실을 깨달았다.

 

그렇다. 2021은 연속한 두 소수 43과 47의 곱이다. 다음에 이런년도가 오려면 무려 470년 뒤인 2491년이 되어야 한다. 원이는 어떤 수가 연속한 두 소수의 곱으로 이루어져 있으면 특별한 수라 부르기로 하였다.

 

주어진 수보다 큰 특별한 수 중 가장 작은 수를 구하는 프로그램을 작성하시오.


입력

첫 번째 줄에 주어진 수 N 이 주어진다.


출력

첫 번째 줄에 N 보다 큰 특별한 수 중 가장 작은 수를 출력하여라.


풀이

이 문제의 핵심은 N의 값이 1 이상 10,000 이하를 이용하는 것이다.

 

먼저 N의 값이 10,000 이하 이므로, 두 소수의 곱은 최대 10X * 10X정도라고 생각할 수 있다.

 

따라서 2부터 3, 5, 7..., 100 언저리정도의 소수까지 미리 리스트를 만들어 두고 일일이 비교하면 된다.

 

그러면 다음과 같이 코드를 작성하게 된다.

 

S라는 리스트를 만들고, num라는 변수를 만들어서 120이하의 소수를 리스트에 담는다.

그리고 N이라는 값을 입력받으면 리스트의 [0]과 [1]의 곱, [1]과 [2]의 곱, ... 이런식으로 비교를 하면 된다.

 


다음은 재미로 보세요!

이번에 소개할 것은 숏코딩이다.

밑에 사진을 보면 전체 2등임을 알 수 있다!(나름 숏코딩 등수에 맞추는것도 즐겁다)

 

숏코딩 2등

이 방법은 앞에 소개한 것과 비슷한데 리스트를 코드로가 아닌 미리 만들어 두는 것이다.

 

따라서 소수를 2부터 3, 5, 7, 11, ... , 101, 103까지 리스트에 미리 담아둔다.

그리고 조건이 N >= S[i]*S[i+1]인 반복문을 통해 계속해서 큰 값이 나올때까지 구하면 된다.

 

하지만 소수를 일일이 적는것은 쉽지 않다는 것을 누구나 다 알 것이다.

그리고 101과 103이 소수인것을 외우고 있는 사람은 그리 많지 않다.

따라서 좋은 코드라고는 못한다. 어디까지나 숏코딩은 "재미"라고 생각한다.

이해하기 쉬운 코드가 매우 좋은 코드라고 생각하기 때문이다 :)

728x90
반응형
저작자표시 (새창열림)

'🌀 알고리즘(Algorithm) > 백준(문제 풀이)' 카테고리의 다른 글

[파이썬 풀이] 25345번: 루나의 게임 세팅 - 백준  (0) 2022.08.17
[파이썬 풀이] 1152번: 단어의 개수 - 백준  (0) 2022.08.14
[파이썬 풀이] 17202번: 핸드폰 번호 궁합 - 백준  (0) 2022.07.28
[파이썬 풀이] 2535번: 아시아 정보올림피아드 - 백준  (0) 2022.07.15
[파이썬 풀이] 2869번: 달팽이는 올라가고 싶다 - 백준  (0) 2022.07.10
'🌀 알고리즘(Algorithm)/백준(문제 풀이)' 카테고리의 다른 글
  • [파이썬 풀이] 1152번: 단어의 개수 - 백준
  • [파이썬 풀이] 17202번: 핸드폰 번호 궁합 - 백준
  • [파이썬 풀이] 2535번: 아시아 정보올림피아드 - 백준
  • [파이썬 풀이] 2869번: 달팽이는 올라가고 싶다 - 백준
Dodolist
Dodolist
소프트웨어 및 하드웨어에 대한 지식 및 시행착오 기록 사이트
Dodolist
도돌이의 세미프로그래밍
Dodolist
전체
오늘
어제
  • 분류 전체보기 (67) N
    • 💻 소프트웨어(SW) (29)
      • HTML | JS | CSS (6)
      • Python (5)
      • Swift (9)
      • MySQL (4)
      • 프로젝트 (4)
    • 🌀 알고리즘(Algorithm) (9)
      • 백준(문제 풀이) (9)
    • ✏️나를 되돌아보는, 글 (13)
      • 진지한 글 (9)
      • 뻘글 (4)
    • 📚 지식글 (14) N
    • 거인의 무릎에 올라타기 (1)

블로그 메뉴

  • | Home
  • | Miruzima
  • | Instagram

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
Dodolist
[파이썬 풀이] 24039번: 2021은 무엇이 특별할까? - 백준
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.