
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 자료 구조 시뮬레이션 덱 큐 ⊙ 문제 접근 과정 뱀의 머리와 꼬리를 알기 위해서 큐를 사용한다. 아래에 왜 큐를 사용해야 하는지 설명하겠다. 만약 다음 칸에 사과가 있다면 뱀의 길이는 증가한다. 사과가 존재하지 않으면 뱀의 길이는 유지된다. 그렇다는 말은 사과가 존재하면 뱀의 꼬리는 움직이지 않고, 사과가 존재하지 않으면 꼬리는 움직여야 ..

https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 조합을 사용해줬다. 문제를 보고 바로 조합을 사용해야겠다고 생각을 했다. 그리고 해당 조합에 대해 count 메서드를 돌려주고 값을 return 해준다. count 메서드는 minimum 변수를 기준으로 돌아간다. 카운팅 된 값이 최종 return 값이다. 그 값을 새로 만든 배열..

https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 첫 번째로 작은 값과 두 번째로 작은 값*2을 더하여 K이상으로 변경해야 한다. 배열에서 작은 값을 찾기 위해 힙큐를 이용하여 문제를 풀었다. 가장 먼저 scoville 배열을 heapq의 heapify 함수를 이용하여 힙큐로 변경해준다. 그리고 pop을 해준다. 가장 작은 ..

https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 방문 여부와 단어 차이로 bfs를 돌려주었다. 먼저 queue에 시작 단어를 넣는다. 그리고 그 단어가 words안에 없다면 바로 0을 리턴해준다. 그렇지만 단어가 words 안에 있다면 words를 탐색하여 단어가 하나만 다르고 방문한 적 없는..

https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 n, m이 주어진다. 다음 m개의 줄에는 n개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 비트마스킹 ⊙ 문제 접근 과정 11 & 1 = 1011 & 0001 = 0001 11 & 2 = 1011 & 0010 = 0010 11 & 4 = 1011 & 0100 = 0000 11 & 8 = 1011 & 1000 = 1000 위 코드가 핵심 코드다. 모든 값이 0이라면 벽으로 안 막혀 ..

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..
- Total
- Today
- Yesterday
- Web
- 백준
- C++
- 우종정
- 알고리즘
- 자바스크립트
- 운영체제
- 파이썬
- 쉽게배우는자바프로그래밍
- 정렬
- JS
- 문자열
- OS
- 프로그래머스
- 구현
- 쉽게배우는
- py
- 답
- 정답
- 연습문제
- BFS
- 그리디
- 해답
- java
- 자바
- Python
- 쉽게 배우는 자바 프로그래밍
- CPP
- 풀이
- 정리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |