
트리에 있는 노드들의 부모 노드를 찾아서 출력하는 문제 문제의 조건 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 풀이 과정 양방향 그래프를 구성한 뒤 DFS로 풀었습니다. 1. 2차원 배열을 만들고 입력 받으면서 양방향 그래프를 구성한다. 2. 각 정점의 부모 노드를 저장할 1차원 배열을 만든다. 각 정점 인덱스에 부모 노드 번호를 저장할 것이라서 정점 갯수+1 크기로 만든다. 3. 1번 정..

적록색약이 아닌 사람이 보는 세상과 적록색약인 사람이 보는 세상이 얼마나 다른지 구하는 문제 문제의 조건 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다. (빨강-초록 2, 파랑 1) 그림이 입력으..

DFS 문제인데... 문제 설명이 좀 더 추가되었으면 좋겠는 문제(제발 쿨병 자제 좀...) 문제의 조건 1. 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 2. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 3. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. => 여기가 정말 설명이 애매한 곳이라고 생각하는데, 차라리 프로그래..
- Total
- Today
- Yesterday
- 그리디
- 영어공부
- 알고리즘
- c언어
- dp
- DFS
- 백준
- 컴퓨터
- C언어기초
- 문제풀이
- 캐나다
- 컴퓨터공부
- c++
- 해커랭크
- 컴퓨터사이언스
- 너비우선탐색
- 캐나다생활
- 프로그래밍
- 하드웨어
- 프로그래머스
- 다이나믹프로그래밍
- 애플
- 스위프트플레이그라운드
- BFS
- 기초
- 깊이우선탐색
- 코딩공부
- 아이패드
- greedy
- hackerrank
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |