일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- qorwns
- 백준 1158
- 해시 구현
- heap
- 해시구현
- ㅣ풀이
- 5397
- 백준 1406
- 백준 17822
- 별 찍기 10
- 백준 2447
- 조세퍼스 순열
- dfs
- AVL 시간 복잡도
- c#
- 게리멘더링2
- 스택의 특징
- 풀이
- 구현
- 버킷 정렬
- 원판 돌리기
- 백준 17471
- Stack 이란
- 백준
- 시간 복잡도
- 백준 17779
- 1764
- C/C++ 구현
- 자료구조
- 백준 5397
- Today
- Total
목록알고리즘 문제풀이/프로그래머스 (17)
홍시홍의 프로그래밍
분류 : 해쉬 요구사항 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 풀이 1. 가장 많이 재생된 장르 구하기 2. 장르 내에서 많이 재생된 노래 -> 재생 횟수가 같다면 고유번가 낮은 노래 1번은 map사용하여 중복된 string을 더 하여서 총 재생 횟수를 구한다 2번은 vector로 정렬한다 뭔가 두번 생각해야하는 문제 인듯하다 #include #include #include #includ..
분류 : 구현 요구사항 대각선을 그었을때, 대각선에 속하지 않는 사각형의 갯수 구하기 풀이 정답 도출식은 w*h - (w+h-gcd)이다 gcd구하는 방법은 유클리드 호제법이 있던데 그냥 구현해 보았따 우리 흔히 하는 방법으로 구했다 안나눠질때 까지 나누어주고 나눈 숫자는 곱해서 gcd를 찾는다 #include #include #include using namespace std; long long gcd1(long long w, long long h) { long long num = 1; while (true) { long long tempmin = min(w, h); long long flag = 0; for (int i = 2; i
분류 : stack 요구사항 레이저로 쇠막대기를 절단할 경우, 절단된 쇠막대기 갯수 구하기 풀이 앞에서 부터 차곡차곡 스택에 넣어준다 쇠막대기인 경우 제외해준다 팝되는 경우 처리해준다 #include #include #include using namespace std; int solution(string arrangement) { int answer = 0; string str = arrangement; vector v; for (int i = 0; i < str.size(); i++) { char now = str[i]; // cout
분류 : 구현 요구사항 stack 활용하여 문제가 끝난 후, 사라진 인형의 수 구하기 풀이 함정없는 단순 구현 문제이다 문제에 제시된 조건대로 구현하면 된다 #include #include #include using namespace std; int map[35][35]; int boardr = 0; int boardc = 0; int solve(vector move) { vector v; int cnt = 0; for (int i = 0; i < move.size(); i++) { int nowc = move[i]; int r = 0; for (r = 1; r