전체 글
-
[BOJ]백준 21609번: 상어 중학교(C++)/SimulationProblem Solving/BOJ(백준) 2021. 6. 14. 03:11
https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 내가 삼성 코테에서 접한 삼성 유형의 정수라고 할 수 있는 문제 시뮬레이션+DFS+중력+배열회전이 전부 합쳐져서 처음 문제를 봤을 때 그냥 웃겼다 요즘 삼성 유형은 주사위 윷놀이같은 끔찍한 문제가 더 안 나오는 걸 보니 이전보다 난이도를 낮추고 구현 능력에 포커스를 맞춘 것 같아 보인다 상어 초등학교는 너무 쉬워서 당황했지만 상어 중학교는 요구사항이 엄청엄청엄청 많기 때문에 잘 정리하고 설계해..
-
[OS] Process Management와 System CallComputer Science/Operating System 2021. 6. 13. 02:57
모든 프로세스는 부모-자식 관계를 지닌다. 프로세스의 생성에는 처음부터 새로 생성하는 방식과, 부모 프로세스를 복제해서 생성하는 방식이 있다. 프로세스를 처음 생성할 때 에는 프로그램 코드와 데이터를 메모리에 적재하고, 새로운 PCB를 생성하여 초기화하고, 프로세스를 Ready Queue에 enqueue한다. 프로세스를 복제할 때 에는 기존 프로세스를 부모(Parent) 프로세스, 새로운 프로세스를 자식(Child) 프로세스의 관계를 가진다. 복제와 동시에 현재 실행중이던 프로세스를 중단하고 상태를 저장 부모 프로세스의 PCB를 복사해서 새로운 PCB를 생성한 뒤 Ready Queue에 추가 Linux) fork() 함수 사용 부모 프로세스는 여러 자식 프로세스를 가질 수 있기 때문에 그림과 같은 트리 ..
-
[BOJ]백준 7682번: 틱택토(C++)/BackTrackingProblem Solving/BOJ(백준) 2021. 6. 13. 02:27
https://www.acmicpc.net/problem/7682 7682번: 틱택토 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 www.acmicpc.net 틱택토 보드판의 상태를 입력받아서 종료 조건으로 가능한 경우인지 판단하는 문제 그냥 백트래킹으로 맨 처음에 모든 틱택토 경우의 수(958가지)를 구해서 map에 저장해주고 입력받은 문자열이 map에 있는지로 판단해주었다 문제푸는걸 쉬었다가 시작해서 그런가?? 요즘 문제 처음볼 때 마다 막막하다 ㅠ.ㅜ #include #include #include #define board(i,j) str[(i)..
-
[BOJ]백준 21776번: 가희와 읽기 쓰기 놀이(Python)Problem Solving/BOJ(백준) 2021. 6. 13. 01:17
https://www.acmicpc.net/problem/21776 21776번: 가희와 읽기 쓰기 놀이 1번째 줄에 N, C가 공백으로 구분되어 주어집니다. 2번째 줄 부터 N+1번째 줄까지 1번 사람부터 N번 사람까지 낸 카드의 갯수와 카드를 낸 순서가 주어집니다. 예를 들어 3번째 줄에 3 2 4 5 가 있다면 www.acmicpc.net 요즘은 순열 어렵게 구하기가 유행인가.....??^^ 이 문제 또한 순열을 이용한 문자열 문제이다 요즘은 시뮬레이션 없는 순열은 파이썬으로 하는게 편해서 ... 이 문제 또한 파이썬 각각의 사람마다 수행할 카드들의 순서가 정해져 있고, 해당 카드에는 여러 연산이 쓰여있을 수 있다 또한 본인의 카드 순서가 섞이지 않는 선에서 다른 사람과 교차 시행이 가능하다 A가 ..
-
[Programmers]2021 KAKAO BLIND RECRUITMENT: 카드 짝 맞추기(Python)/BFSProblem Solving/Programmers 2021. 6. 11. 12:06
https://programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 진짜 ... 지금까지 푼 BFS중에 제일 까다롭고 빡치고 어려웠다 ^-^.............. 정답률 0.95의 위엄인가 ........ 어떤 카드를 먼저 뒤집을지 (라이언-어피치-프로도) or (어피치-프로도-라이언) 등 을 먼저 구해주어야 하기 때문에 카드 종류에 맞춰 순열을 구해주고 해당 카드의 짝(라이언A, 라이언B)들 중 어느 카드를 먼저 뒤집을 지도 ..
-
[BOJ]백준 1043번: 거짓말(C++)/DisjointSetProblem Solving/BOJ(백준) 2021. 6. 10. 10:54
https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 오랜만에 disjoint set 문제 파티에 참석한 인원들을 전부 union해준 뒤 진실을 알고 있는 사람과 같은 parent를 가진 팀으로만 이루어져 있는지 체크해주었다 #include #include using namespace std; typedef struct disjointSet { vector parent, rank; disjointSet(int n) { rank = vector(n + 1); f..
-
[Programmers] 2020 KAKAO BLIND RECRUITMENT: 기둥과 보 설치(Python)Problem Solving/Programmers 2021. 6. 9. 03:30
https://programmers.co.kr/learn/courses/30/lessons/60061?language=python3 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 정말 악랄한 문제 ~~ 구현 문제를 오랜만에 풀어서 ..
-
[BOJ]백준 21772번: 가희의 고구마 먹방(C++)/BackTrackingProblem Solving/BOJ(백준) 2021. 6. 8. 20:41
https://www.acmicpc.net/problem/21772 21772번: 가희의 고구마 먹방 첫 번째 줄에 맵의 세로 크기 R, 가로 크기 C, 가희가 이동하는 시간 T가 주어집니다. 두 번째 줄부터 R+1번째 줄까지 길이가 C인 문자열이 주어집니다. 주어지는 문자열에 있는 문자는 가희를 www.acmicpc.net 문제 특성 상 보자마자 어?BFS 할 수 있지만 BFS도 DFS도 아닌 백트래킹 문제 ~~~ 왜냐면 이미 지났던 좌표를 다시 가야할 수도 있기 때문이다 그래서 인접한 좌표를 방문할 수 있는 재귀함수를 만들어준 뒤 최대 고구마를 얻을 수 있는 선택 + 현재 좌표에서 얻을 수 있는 고구마를 반환해주엇다 #include #include #include using namespace std;..