https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 스택 ⊙ 문제 접근 과정 파이썬으로 알고리즘 문제를 풀다 보면 가끔씩 이런 생각을 한다. 생각을 조금만 더 하면 문제를 풀 수 있는 건가? 아니면 생각을 덜 해야 문제를 풀 수 있는 건가? 풀이를 보면 정말 단순한데 내 뇌는 그 단순한걸 거부하고 어렵게 접근한다 ㅋㅋ 이번 문제는 스택에 값을 넣고 그 값이랑 다음 값이랑 비교해서 더 큰 값으로 갱신해주면 끝이다. 아래 풀이를 보자 ⊙ 문제..
https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 스택 연결 리스트 ⊙ 문제 접근 과정 if문를 사용하여 입력받은 값이 " " 일 때 " - " 일 때 나머지 로 나누어줬다. 1번인 " " 일 때, stack에 값이 있다면 그 값을 result에 추가해준다. 만약 stack이 없다면 무시 3번인 " - " 일 때, result에 값이 있다면 가장 ..
https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 작은 값부터 더해나가 다음 list의 값보다 작으면 그 위치에서 break후, 현재까지 더해나간 값을 출력해주면 된다. 예를 들어 ① target (=1) >= x (=1) target = 1 + 1 = 2 ② target (=2) >= x (=1) target = 2 + 1 = 3 ③ target (=3)..
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 정렬 우선순위 큐 ⊙ 문제 접근 과정 1️⃣ 보석 리스트 gem에 (무게, 가치)를 담아준다. 2️⃣ bag 값을 담아주고 정렬해준다. 3️⃣ 임시 배열인 temp를 만들어 허용 가능한 보석을 계속 넣어주고 그중 값어치 나가는 보석을 pop 4️⃣ p..
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 문제 접근 과정 그냥 무지성으로 +와 -를 전부 배열에 다 넣고 target의 값이 몇 개인지 count() 함수를 사용하여 출력해주면 된다. ⊙ 문제 풀이 def solution(numbers, target): tree = [0] for num in numbers: s..
https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 이분 탐색 두 포인터 ⊙ 문제 접근 과정 투 포인터 알고리즘을 사용해 풀었다. 초기 비교 값을 한계치보다 훨씬 높게 설정해주고 비교하면서 더 작은 값을 결괏값에 넣어주면서 포인터를 이동시켜갔다. 마지막에는 두 값을 출력해주면 끝!! 코드를 보면 쉽게 이해가 될 것 같다!! 이해가 안 되시는 분은 댓..
https://programmers.co.kr/learn/courses/30/lessons/86048 코딩테스트 연습 - 7주차 사회적 거리두기를 위해 회의실에 출입할 때 명부에 이름을 적어야 합니다. 입실과 퇴실이 동시에 이뤄지는 경우는 없으며, 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 오늘 회의실에는 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 문제 접근 과정 리스트를 먼저 덱으로 변경해줬다. 그다음 스택을 만들어주어 스택에 값이 없다면 enter에서 맨 앞에 값을 빼온다. 그리고 leave 순서가 되기 전까지 enter의 맨 앞의 값을 빼와 stack에 계속 넣어준다. 그러다가 스택에 leave값이 있다면 제거해주고 stack에 값들을 count 해준다. 마지막으..
https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 문자열 브루트포스 알고리즘 정규 표현식 ⊙ 문제 접근 과정 중요하게 봐야 할 곳 "패턴은 알파벳 소문자 여러 개와 별표(*) 하나로 이루어진 문자열이다." "소문자 여러 개" 예시에서는 별표를 가운데에 두고 양쪽에 소문자가 하나씩 있지만, 소문자 여러 개가 위치해도 가능하다는 뜻이다. 따라서 문자열 슬라..
https://www.acmicpc.net/problem/14676 14676번: 영우는 사기꾼? 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 건물 종류의 개수 N, 건물 사이 관계의 개수 M, 영우의 게임 정보의 개수 K가 주어진다.(1 ≤ N, M, K ≤ 100,000) 다음 줄부터 M줄에 걸쳐 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 그래프 이론 위상 정렬 ⊙ 문제 접근 과정 1️⃣ graph[i].append(j), indegree[j]+=1 m만큼 반복 2️⃣ 건물을 K번 짓거나 파괴 3️⃣ 1은 건설, 2는 파괴 1일 시, 선행 건물이 있는지 판별 2일 시, 건물이 지어졌는지 확인 ⊙ 문제 풀이 import sys N, M,..
https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차_복서 정렬하기 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 1️⃣ info란 배열을 먼저 만들어줬다. 2️⃣ info 배열 안에 인자를 [선수 번호, 몸무게, 승률, 나보다 무거운 복서 이긴 횟수]로 가져갔다. 3️⃣ lamda를 활용하여 승률 -> 나보다 무거운 복서 이긴 횟수 -> 몸무게 -> 선..
- Total
- Today
- Yesterday
- 백준
- 연습문제
- 문자열
- 쉽게배우는
- 파이썬
- 정답
- 운영체제
- py
- 우종정
- 자바
- 프로그래머스
- 알고리즘
- java
- 해답
- 자바스크립트
- 쉽게 배우는 자바 프로그래밍
- 구현
- 정리
- 그리디
- 쉽게배우는자바프로그래밍
- BFS
- 답
- JS
- 풀이
- CPP
- 정렬
- Python
- OS
- Web
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |