Algorithm
백준 4948번: 베르트랑 공준 - golang
백준 4948번: 베르트랑 공준 - golang
2021.09.22베르트랑 공준 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 45249 18591 15172 41.757% 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 ..
로또의 최고 순위와 최저 순위 - programmers (golang)
로또의 최고 순위와 최저 순위 - programmers (golang)
2021.09.06문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다..
Go - 부분집합 (MS 인터뷰 문제: DFS 완전탐색)
Go - 부분집합 (MS 인터뷰 문제: DFS 완전탐색)
2021.09.05package main import "fmt" var n int var ch [11]int func solution(L int) { if L == n + 1 { for i := 1; i
DFS 이론
DFS 이론
2021.09.05전위 순회(preorder) 트리의 전위 순회는 루트노트 -> 왼쪽 서브 트리 -> 오른쪽 서브 트리 순으로 순회하는 방식이다. 코드 역시 현재 노드를 출력한 후, 왼쪽, 오른쪽 순서대로 함수를 호출한다. 중위 순회(inorder) 트리의 전위 순회는 왼쪽 서브 트리 -> 루트노트 -> 오른쪽 서브 트리 순으로 순회하는 방식이다. 코드는 왼쪽 함수 호출, 현재 노드 출력, 오른쪽 함수 호출 순서로 진행된다. 후위 순회(postorder) 트리의 전위 순회는 왼쪽 서브 트리 -> 오른쪽 서브 트리 -> 루트노트 순으로 순회하는 방식이다. 후위 순회 또한 왼쪽 함수 호출, 오른쪽 함수 호출, 현재 노드 출력 순서로 진행된다. package main import "fmt" func dfs(v int) { if..
javascript - 괄호문자제거 (자료구조 stack and queue)
javascript - 괄호문자제거 (자료구조 stack and queue)
2021.08.14문제풀이 이문제는 스택과 큐를 이용해서 해결하는 문제다. 풀이에 사용된 방법은 닫는 괄호를 만나면 여는 괄호를 만날 때까지 pop을 시킨다. pop 되지 않은 문자열을 괄호 안에 없다고 판단하여 join 하여 return 한다. function solution(str) { const stack = []; for (x of str) { if (x === ")") { while (stack.pop() !== "("); } else stack.push(x); } return stack.join(""); } const str = "(A(BC)D)EF(G(H)(IJ)K)LM(N)"; console.log(solution(str)); Github https://github.com/JongyunHa/algorithm..
문제 - 뮤직비디오 (결정알고리즘)
문제 - 뮤직비디오 (결정알고리즘)
2021.06.22지니레코드에서는 불세출의 가수 조영필의 라이브 동영상을 DVD로 만들어 판매하려 한다. DVD에는 총 N개의 곡이 들어가는데, DVD에 녹화할 때에는 라이브에서의 순서가 그대로 유지 되어야 한다. 순서가 바뀌는 것을 우리의 가수 조영필씨가 매우 싫어한다. 즉, 1번 노래와 5번 노래를 같은 DVD에 녹화하기 위해서는 1번과 5번 사이의 모든 노래도 같은 DVD에 녹화해야 한다. 또한 한 노래를 쪼개서 두 개의 DVD에 녹화하면 안된다. 지니레코드 입장에서는 이 DVD가 팔릴 것인지 확신할 수 없기 때문에 이 사업에 낭비되는 DVD를 가급적 줄이려고 한다. 고민 끝에 지니레코드는 M개의 DVD에 모든 동영상을 녹화하기 로 하였다. 이 때 DVD의 크기(녹화 가능한 길이)를 최소로 하려고 한다. 그리고 M개..
선생님 퀴즈
선생님 퀴즈
2020.11.27#include int main() { int n; scanf("%d", &n); int *input = new int[n]; int *answer = new int[n]; for (int i = 0; i < n; i++) { int a, b; scanf("%d %d", &a, &b); input[i] = a; answer[i] = b; } for (int j = 0; j < n; j++){ int sum = 0; for(int k = 1; k
Anagram (구글 인터뷰문제)
Anagram (구글 인터뷰문제)
2020.11.25#include #include int main() { int a[60]{ 0 }; int b[60]{ 0 }; char str[100]; scanf("%s", &str); for(int i = 0; str[i]!='\0'; i++){ // 대문자를 확인 if (str[i]>=65 && str[i]=65 && str[i]
c++ 1359 : 숫자 피라미드 1
c++ 1359 : 숫자 피라미드 1
2020.11.17문제 설명 길이 nn이 입력되면 다음과 같은 숫자 피라미드를 출력한다. 예) nn이 5이면 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 입력 길이 nn이 입력된다.(1
c++ 1358 : 삼각형 출력하기 5
c++ 1358 : 삼각형 출력하기 5
2020.11.17문제 설명 어떤 수 n을 입력받으면 다음과 같은 삼각형을 출력한다. 여기서 입력되는 n은 반드시 홀수이다. 입력 3부터 99 까지의 홀수 중 하나가 입력된다. 출력 Sample Output 같은 삼각형을 출력한다. 입력 예시 5 출력 예시 * *** #include int main() { int x, space; scanf("%d", &x); space = x / 2; for (int i = 1; i
c++ 1356 : 사각형 출력하기 2
c++ 1356 : 사각형 출력하기 2
2020.11.14문제 설명 길이 n이 입력되면 다음과 같은 사각형을 출력한다. 예) n이 5일때 ***** * * * * * * ***** 입력 길이 n이 입력된다. (n >= 3) 출력 사각형을 출력한다. 입력 예시 3 출력 예시 *** * * *** #include int main() { int x = 0; scanf("%d", &x); for (int i = 1; i
숫자만 추출해서 약수 출력하기
숫자만 추출해서 약수 출력하기
2020.11.08숫자만 추출 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만 듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다. 만약 “t0e0a1c2her”에서 숫자만 추출하면 0, 0, 1, 2이고 이것을 자연수를 만들면 12가 됩니 다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 12를 출력하고, 다음 줄에 12의 약 수의 개수를 출력하면 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. ▣ 입력설명 첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다. ▣ 출력설명 첫 줄에 자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다. ▣ 입력예제 1 g0en2Ts8eSoft ▣ 출력예제 1 28 ..