분류 전체보기
-
프로그래머스 - 더 맵게알고리즘 풀이/프로그래머스 2019. 11. 13. 20:48
문제 : https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 | 프로그래머스 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 programmers.co.kr 풀이 : 우선순위 큐는 힙을 이용하기 때문에 단순히 넣었다 빼는 것..
-
11. 프로세스와 쓰레드운영체제/운영체제 정리 2019. 11. 11. 00:20
프로세스는 기본적으로 메인 메모리에 올라와있는 프로그램을 말한다. 프로세스는 프로세스에 의해 만들어진다. 즉 한 프로세스는 부모 프로세스를 가진다. OS는 부팅 후 첫 번째 프로세스를 만든다. 그러면 그 프로세스는 여러 자식 프로세스를 만들게 된다. PID : 프로세스들에게 각각의 unique한 번호를 부여하는 것. 파일을 생성하는 시스템 콜은 open() 인 것처럼 역시 프로세스를 생성하는 시스템 콜이 있는데 바로 fork() 이다. 호출 시 새로운 프로세스를 만들게 되고 만들어진 프로세스를 메인 메모리에 가져오는 콜을 exec() 이라고 한다. 프로세스 종료하는 콜은 exit()이다. exit()을 호출하면 해당 프로세스가 가진 모든 자원을 모두 회수하고 그 자원은 O/S가 가져가서 다른 프로세스에게..
-
백준(BOJ) 16948번 데스 나이트알고리즘 풀이/백준(Boj) 2019. 11. 7. 13:49
문제 : https://www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크기가 N×N인 체스판과 두 칸 (r1, c1), (r2, c2)가 주어진다. 데스 나이트가 (r1, c1)에서 (r2, c2)로 이동하는 최소 이동 횟수를 구해보자. 체스판의 행과 열은 0번부 www.acmicpc.net 풀이 : 기본적인 BFS 문제였습니다. 첫 시작 구간을 fy, fx로 잡고 나아갈 수 있는 6방향을 확인합니다. 탐색을 ..
-
프로그래머스 - 완주하지 못한 선수알고리즘 풀이/프로그래머스 2019. 11. 6. 10:16
문제 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 partic programmers.co.kr 풀이 : 우선 완주자들을 map 형태로 넣어준다. 그 ..
-
프로그래머스 - 모의고사알고리즘 풀이/프로그래머스 2019. 11. 5. 06:37
문제 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 | 프로그래머스 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, programmers.co.kr 풀이 : 1,2,3번 (a,b,c) 배열을 각각 만들고 그들의 찍..
-
프로그래머스 - 기능개발알고리즘 풀이/프로그래머스 2019. 11. 5. 06:05
문제 : https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr 풀이: 작업을 완료할 수 있는 최소 기간을 q에 넣는다. q에 제일..
-
백준(BOJ) 16926번 배열 돌리기 1알고리즘 풀이/백준(Boj) 2019. 11. 4. 02:48
문제 : https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] ↓ ↓ ↑ ↑ A[3][1] A[3][2] → A[3][3] → A[3][4] A[3][5] ↓ ↑ A[4][1] → A[4][2] → A[4][3] → A[4][4] → A[4 www.acmicpc.net 풀이 : 재귀적으로 배열이 끝에서만 돌도록 구현해보았다. 중요한 것은 wall을 기준으로 wall이 0,0일 때 1,..