분류 전체보기
-
[BOJ]백준 22352번: 항체 인식(Python)/BFSProblem Solving/BOJ(백준) 2021. 8. 4. 20:50
https://www.acmicpc.net/problem/22352 22352번: 항체 인식 첫 번째 줄에는 SP 촬영 결과의 크기를 의미하는 두 정수 $N$과 $M$이 주어진다. ($1 \le N, M \le 30$) 이는 촬영 결과가 세로로 $N$칸, 가로로 $M$칸 크기의 격자라는 것을 의미한다. 다음 $N$개의 줄에는 www.acmicpc.net 특정 좌표에서 BFS또는 DFS를 시행하여 같은 숫자인 칸을 전부 업데이트 시킨 뒤 주어진 배열과 같은지 검사하면 되는 간단한 BFS 문제 import sys from collections import deque def bfs(r, c, num): global origin, after, n, m dx=[1,0,-1,0] dy=[0,1,0,-1] visit..
-
[BOJ]백준 20304번: 비밀번호 제작(Python)/Bitmask, BFSProblem Solving/BOJ(백준) 2021. 8. 4. 01:27
https://www.acmicpc.net/problem/20304 20304번: 비밀번호 제작 서강대학교 전산실에서 보안직원으로 일하는 향빈이는 한 통의 이메일을 받게 되었다. 이메일에는 서버 관리자 계정에 대한 비정상적인 로그인 시도가 감지되었다는 내용이 적혀 있었고, 첨부 www.acmicpc.net 익숙한 문제? ㅎㅎ 틀린문제 리스트에 있는게 싫어서 오랜만에 다시 풀어봤다 아주 훌륭한 문제였다 ( = 어렵다는 뜻 ) 안전거리와 안전도가 등장하는데 안전거리를 구하는 것 자체는 XOR 풀이가 직관적으로 떠오를 수 있지만 비밀번호 후보를 찾는 데에 Bitmask + BFS를 바로 떠올리기는 쉽지 않다 항상 특별한 분류의 알고리즘 문제를 풀 때에는 (바로 생각나는 브루트포스 풀이 + 최적화할 수 있는 솔..
-
[Intellij] Can not resolve symbol 'String' 오류 해결Etc 2021. 8. 3. 19:12
기존에 STS로 개발을 하다가 Intellij로 옮기려고 Gradle 프로젝트를 import 했는데 모든 Java 문법에 빨간 줄이 뜨는 오류가 발생했다 알고보니 프로젝트 SDK를 지정을 안 해서 발생한 아주아주아주아주 기초적인 실수였고 1. Search - Project Structure로 들어간다 2. Project SDK를 자신이 사용하는 Java version에 맞게 선택해준다 나 같은 경우에는 로 지정되어 있었기 때문에 오류가 발생했던 거였당 SDK를 지정해주고 나면 오류 해결
-
[Git] Github Repository 커밋 로그까지 포함 다른 Repository로 이동하기Etc/Git 2021. 8. 2. 22:58
1. Git Bash를 열고 [기존의 레퍼지토리]를 bare clone 해준다 git clone --bare https://github.com/exampleuser/old-repository.git 2. [새로운 레포지토리]로 mirror push 해준다 cd old-repository git push --mirror https://github.com/exampleuser/new-repository.git 3. (선택) 이전에 존재했던 [기존의 레포지토리]를 삭제한다 cd .. $ rm -rf old-repository
-
[Network] ARP 프로토콜Computer Science/Network 2021. 8. 2. 09:13
ARP 프로토콜(Address Resolution Protocol): IP주소를 이용해서 같은 네트워크 대역에서 통신하기 위해 필요한 MAC 주소를 알아내는 프로토콜 같은 네트워크 대역에서 통신을 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요하다. 이 때, IP주소는 알고 MAC주소는 모르더라도 ARP 프로토콜을 통해 통신이 가능하다. ARP 프로토콜 구조 Hardware type : 2계층에서 사용하는 프로토콜 타입 Protocol Type : IPv4 Hard Add Len : 06 Proto Add Len : 04 Opcode : 어떤 동작을 하는지 나타내는 코드(1 - 요청, 2 - 응답) source hardware addre..
-
[OS] CPU Scheduling - 어떤 Job이 CPU를 선점할까Computer Science/Operating System 2021. 8. 2. 01:34
우리는 컴퓨터를 사용할 때 한 가지 작업만 하지 않는다. 크롬도 키고 vscode도 키고 카톡도 하고 유튜브도 봐야된다. CPU 스케줄링은 여러 종류의 Job들이 섞여있는 운영체제 환경에서 이러한 다중 프로그래밍을 가능하게 하는 동작 기법이다. 운영체제의 CPU 스케줄링은 다음의 두 가지 사항을 고려해야 한다. Interactive Job에게 적절한 시기에 Response를 제공하는 것 CPU와 I/O device 등 시스템 자원을 골고루 & 효율적으로 제공(I/O-bound job / CPU-bound job) CPU 스케줄러는 Ready 상태의 프로세스 중 CPU를 할당할 프로세스를 선택하는 역할, Dispatcher는 CPU의 제어권을 CPU Scheduler에 의해 선택된 프로세스에게 넘기는 역할..
-
[BOJ]백준 20058번: 마법사 상어와 파이어스톰(C++)/SimulationProblem Solving/BOJ(백준) 2021. 7. 31. 16:34
https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 회전할 부분 배열을 탐색하는 방법을 나눠서 2가지 버전으로 풀었다 한 가지 헤맸던 부분은 사방의 얼음 유무를 보고 얼음의 양을 감소시키는 로직에서 탐색 도중에 감소시키는 것이 아닌 탐색이 완료된 뒤 감소시켰어야 했는데 그 부분을 혼동하다 보니 정확한 값을 찾는 데 헤맸다 ㅠ #include #include #define pow2(x) (1= 0 && y < n; } void m..
-
자주 사용하는 HTTP Status CodeWeb 2021. 7. 27. 01:31
※ 해당 글은 위키백과와 MDN Web Docs의 내용으로 작성되었음 HTTP Status Code는 100 ~ 511번까지 존재한다 각각의 백의 자리 숫자에 따라 ▶ 1xx (정보): 요청을 받았으며 프로세스를 계속한다 ▶ 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 ▶ 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 ▶ 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다 ▶ 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다 의 큰 분류로 나뉜다 대표적인 Status Code들에 대해 알아보자면 100 Continue : 이 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을..