재바기
JaeTech
재바기
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • Computer Vision (2)
    • 선형대수학 (9)
    • Papers (1)
    • 알쓸신잡 (7)
    • 삽질 기록 (0)
    • 3D\Multiview Geometry (10)
      • CS231A (10)
    • Computer Science (46)
      • Algorithm (14)
      • JavaScript (3)
      • C || C++ (5)
      • Git || Github (3)
      • Linux (2)
      • DL || ML (5)
      • Operating System (8)
      • Computer Network (0)
      • Database (1)
      • Effective Python (5)
      • Data Communication (0)
    • 회고 (0)
    • Latex (1)

블로그 메뉴

  • 홈
  • 태그

Github

공지사항

  • 주인장에 대해

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
재바기
Computer Science/Algorithm

(C++) 백준 2960번 [에라토스테네스의 체]

(C++) 백준 2960번 [에라토스테네스의 체]
Computer Science/Algorithm

(C++) 백준 2960번 [에라토스테네스의 체]

2021. 2. 18. 17:30
728x90

안녕하세요 평범한 컴공생입니다.

 

오늘은 백준 2960번 에라토스테네스의 체 문제 알고리즘 포스팅을 해보겠습니다.

 

실버 4 난이도의 문제입니다.

1. 문제 해결 방법 구상하기

 -  N과 K의 값을 먼저 입력받는다.

 - 2부터 시작해서 3, 4, 5 ... 와 같이 1씩 값을 올려주며 그 수의 배수인 값을 지워주어야한다.

 - 단, 2, 4, 6, ... 과 같이 2의 배수를 지웠는데 3, 6, 9 ,... 처럼 6이 중복이 된다면 6을 또 지워줄 수 없다.

 - 그러므로 그 수를 지우기 전에 앞에서 지웠는지 확인을 해주어야 한다.

 - 확인했는데 앞에 그 수가 없다면 지워준다.

 

2. 구상한 아이디어를 바탕으로 코딩하기

#include <iostream>

int main()
{
	using namespace std;
	int num[1000] = { 0, }; // 지운 숫자의 배열

	int N, K, cnt;
	cin >> N >> K;

	int erase = 0;
	for (int i = 2; i <= N; i++)
		for (int j = i; j <= N; j = j + i)
		{

			cnt = 0;
			for (int x = 0; num[x] != 0; x++)
			{
				if (num[x] == j)
					cnt++; // cnt를 통해 앞에서 그 수가 있었는지 확인
			}
			if(cnt==0)
				num[erase++] = j;
		}
	cout << num[K - 1] << endl; // num[0]부터 지워진 첫번째 숫자이므로 -1 해준값을 출력

	return 0;
}

 

생각보다 쉽게 풀 수 있었던 문제였다.

 

// 피드백 및 문제사항 제기 언제든지 감사히 받겠습니다.

728x90
저작자표시 비영리 (새창열림)

'Computer Science > Algorithm' 카테고리의 다른 글

(C++) 백준 11729번 [하노이 탑 이동 순서]  (0) 2021.02.21
(C++) 백준 15686번 [치킨 배달]  (0) 2021.02.21
(C++) 백준 2231번 [분해합]  (0) 2021.02.13
(C++) 백준 2798번 [블랙잭]  (0) 2021.02.12
(C++) 백준 1475번 [방 번호]  (0) 2021.02.11
  • 1. 문제 해결 방법 구상하기
  • 2. 구상한 아이디어를 바탕으로 코딩하기
'Computer Science/Algorithm' 카테고리의 다른 글
  • (C++) 백준 11729번 [하노이 탑 이동 순서]
  • (C++) 백준 15686번 [치킨 배달]
  • (C++) 백준 2231번 [분해합]
  • (C++) 백준 2798번 [블랙잭]
재바기
재바기
재박이의 테크블로그

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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