전체 글
-
백준 7576) 토마토 (골드.5)알고리즘/백준 2022. 7. 17. 20:21
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제의 조건을 확인하면 다음과 같다. 썩은 토마토부터 시작해서 전체를 다 탐색할 때까지 걸리는 시간을 구하는 BFS문제다. 1) 썩은 토마토는 1, 썩지 않은 토마토는 0, 토마토가 없는 곳은 -1로 주어진다. 3) 썩은 토마토는 하루가 지나면 인접해있는 앞뒤왼오의 네 방향의 토마토도 썩게 만든다. 2) 토마토가 모두 썩을 수 없으면 -1을 반환 3) 토마토가 모두 썩을 때까지 걸..
-
백준 9663) N-Queen (골드.4)알고리즘/백준 2022. 7. 17. 18:37
https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제의 조건은 다음과 같으며 백트래킹을 이용하여 퀸을 놓을 수 있는 모든 경우의 수를 찾는 것이다. 1) 같은 열에 퀸이 없을 것 2) 같은 행에 퀸이 없을 것 3) 퀸의 대각선(오른쪽, 왼쪽)으로는 다른 퀸을 위치하지 않을 것 이 문제는 python3로 풀때 계속해서 시간초과가 났기 때문에 해결방법을 찾지 못했다 😭 두번 모두 pypy로는 성공하였다 😭 내가 처음에 푼 코드는 다음과 같다. 이것이 다음에 확인한..
-
백준 2580) 스도쿠 (골드.4)알고리즘/백준 2022. 7. 16. 20:40
https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 문제는 스도쿠 규칙과 똑같다. 가로 세로 9 사이즈의 보드에서 이루어진다. 1) 가로열에 중복되는 숫자가 없을 것 2) 세로열에 중복되는 숫자가 없을 것 3) 3*3 삼각형 안에 중복되는 숫자가 없을 것 4) 여러 케이스가 있는 경우 하나의 케이스만 출력할 것 가장 처음에 했던 코드는 다음과 같은데 잘못 했던 것이 조건당 하나의 빈칸만 있다고 생각하고 여러개의 선택지가 있다는 것을 하나도 생각 못..
-
백준 14501) 퇴사 (실버.3)알고리즘/백준 2022. 7. 15. 21:26
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 먼저 문제의 조건을 확인해보자. 1) 직업이 상담사인 사람이 n+1일 째에 퇴사를 한다. 2) 각각의 상담에는 개별의 시간이 걸리기 때문에 다음 상담은 이전 상담이 끝나고 나서 진행할 수 있다. 3) 퇴사날 까지 일을 수행할 때 상담사가 벌 수 있는 최대 이익을 구한다. 먼저 제일 먼저 생각했던 방법은 dfs를 이용해서 상담이 가능한 모든 경우의 수를 구하고 최대 이익을 구하는 방법이었다. 만약 첫번째 상담을 하기로 했으면 그 다음 상담이 가능한 경우는 첫번째 상담일 수가 지난 후일 것이기 때문에 범위는 range(idx, n)으로 ..
-
동기 / 비동기 / 블로킹 / 논블로킹OS 2022. 7. 15. 11:59
OS 면접준비를 하면서 이번에 동기와 비동기, 블로킹, 논블로킹 파트를 진행하게 되었다. 동기와 비동기, 블로킹, 논블로킹에 대해서 동기 = 블로킹, 비동기 = 논블로킹이라고 오해하기 쉽지만 사실은 서로 다른 개념이다. 다음을 통해 자세히 알아보자. 동기와 비동기 동기와 비동기는 작업완료 여부를 신경쓰는가(완료 여부를 확인하는가)에 따라 달라진다. 동기(Synchronous) 요청을 보낸 후 return 받아야 다음 동작 실행 현재 작업의 응답이 끝남과 동시에 다음 작업 요청 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할때까지 대기 작업 완료 여부를 계속해서 확인 비동기(Asynchronous) 요청을 보낸 후 return과 상관없이 다음 동작 실행 현재 작업의 응답이 끝나지 않은 상태에서 다음 ..
-
백준 14889) 스타트와 링크 (실버.2)알고리즘/백준 2022. 7. 14. 21:59
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제의 조건은 다음과 같다. 1) 총 사람수는 짝수로 이루어져 있다. 2) 팀원수는 각각 n/2명이 된다 3) 팀원 각각의 쌍의 능력치를 더한 값이 팀이 능력치가 된다 4) 팀별로 능력치가 가장 작을 때의 차이 출력 가장 먼저 생각한 것은 팀원의 조합을 이용하여 모든 팀이 생성되는 경우의 수를 구하고 각각의 팀점수를 구해서 차이의 최솟값을 찾는 해법을 생각했다. from itertools import combinati..
-
운영체제 ③ (KOCW 반효경 교수님 강의)OS 2022. 7. 14. 20:28
http://www.kocw.net/home/search/kemView.do?kemId=1046323 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net 이 글은 반효경 교수님의 강의를 듣고 잊지않고 공부하기 위해 작성되었다. Ch.8 Memory Management Logical address( = virtual address, 가상주소, 논리주소) 프로세스 마다 독립적으로 가지는 주소공간 Physical address (물리주소) 메모리에 실제 올라가는 위치 할당 OS 상주 영역 : interrupt vector와 함께 낮은 주소 영역 사용..
-
운영체제 ② (KOCW 반효경 교수님 강의)OS 2022. 7. 14. 18:49
http://www.kocw.net/home/search/kemView.do?kemId=1046323 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net 이 글은 반효경 교수님의 강의를 듣고 잊지않고 공부하기 위해 작성되었다. Ch5. CPU scheduling 프로그램 수행시 CPU burst와 I/O burst(오래 걸림)가 반복적으로 이루어진다. 프로세스의 특성 I/O bound job : many short CPU bursts I/O가 끼어드는 작업의 프로세스가 많으며 오고 가는 소통이 많은 interactive한 작업 CPU를 잡고 계..