전체 글

기록.
알고리즘/백준(BOJ)

[백준/파이선] 24230번 트리 색칠하기

https://www.acmicpc.net/problem/24230 24230번: 트리 색칠하기 정점이 $N$개인 트리가 있다. 정점에는 1부터 $N$까지 번호가 붙어있다. 트리의 루트는 항상 1번 정점이며 맨 처음에는 모든 정점이 하얀색으로 칠해져 있는 상태이다. 하나의 정점에 색칠하면 해 www.acmicpc.net 문제가 조금 복잡하기 쓰여있지만, 하얀 색으로 칠할 수 없고 모든 입력이 칠할 수 있는 경우로만 주어지므로 그렇게 어렵게 생각하지 않아도 될 듯 하다. 기본적인 트리 탐색 알고리즘인 dfs와 bfs 중 하나 골라서 풀어도 되는데, 필자는 bfs로 골랐다. 핵심은 바로 부모와 나(자식)의 색깔 차이이다. 부모와 색이 다르다면 무조건 색을 한번 칠해야 하므로 그럴 때 마다 카운트를 해주면 된..

일상 기록

2023년 정보처리기사 필기 1회 시험 합격 후기

3월 8일 12:40 시험을 치렀다. 점수는 75 85 90 90 65, 평균 81점으로 합격(예상)이다. (cbt 시험이라 그 자리에서 바로 결과를 알 수 있다) 정처기 필기는 워낙 말이 많다,, 기출만 돌리면 된다,, 자리 운도 중요하다,, 꼼꼼히 봐야한다 등등 하지만 다 맞는 말 같다. 후기를 보면 누구는 기출에서 80% 나왔다고 하고, 누구는 절반도 안나왔다고 한다. 필자는 딱 절반정도 나온듯 싶다. 그냥 교재 사서 열심히 보고, 기출문제 열심히 풀면 평균 60점 정도는 넘길 수 있는듯 하다. 물론 전공자이기 때문에 몇가지 주요 어려운 개념들을 이미 전공 수업 시간에 훨씬 자세히 배웠고, 훨씬 깊게 배웠다는 점도 무시할 순 없다. 비전공자인 상태로 도전하시는 분들은 정말 존경스럽고, 전공자들은 그..

알고리즘/백준(BOJ)

[백준/파이썬] 1707번 이분 그래프

https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 이분 그래프인지 아닌지를 판단하는 문제이다 정점 하나하나씩 bfs 탐색을 진행해주는데, 주의해야 할 점은 그룹을 지어야 한다는 것이다! (왜 bfs를 한번에 돌리지 않고, 정점 하나씩 해주냐면 입력이 어떻게 들어올 지 모르기 때문이다. 비연결 그래프가 존재하는 경우, 시작점과 연결되지 않은 곳은 탐색할 수 없기 때문에 모든 정점에 대해 탐색해주는 것이다) 트리를 하나 떠올려 보자. level 0 ..

카테고리 없음

[백준/파이썬] 1005번 ACM Craft

https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 간단한 위상정렬 문제이다. 내가 간단하다고 말하는 기준은 좀 어이없을 수 있지만, 내가 푼 풀이법 그러니까 내 코드가 구글링했을 때 수두룩하게 나오는 다른 사람의 코드와 거의 동일하면 간단한 문제라고 생각한다 ㅋㅋ 풀이법은 다음과 같다. 1. 위상 정렬의 첫 시작은 아무것도 건들지 않은 상태에서 진입차수가 0인 것부터 시작해주면 된다. 2. 하나씩 탐색하면서 해당 노드까지 가는 최장거리를 갱..

카테고리 없음

[백준/파이썬] 10942번 팰린드롬?

https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 이 문제가 왜 DP를 이용하는지에 대한 이해를 도와주는 그림이다. start와 end가 같을 때, list[start+1, end-1]이 이미 팰린드롬이라면 list[start,end]가 팰린드롬인지 아닌지 바로 판별할 수 있기 때문이다. 1. 우선 dp 테이블을 하나 정의한다. ex) dp[i][j], i는 start를 의미하고 j는 end를 의미한다 2. 길이가 1짜리인 리스트 (= i와 j가 동일한) 는 모두 팰린드롬이다 3. 길..

알고리즘/백준(BOJ)

[백준/파이썬] 1967번 트리의 지름

https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 1167번 문제와 입력만 다르지 풀이법은 동일하다. https://oh2279.tistory.com/167

beomseok99
beomseok_Oh