목록전체 글 (145)
Partially Committed
https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 재귀는 항상 어려운 것 같다.. 🥺 위 문제는 조금 특이한데, InOrder Traverse 와 PostOreder Traverse 가 주어졌을 때 PreOrder Traverse 를 출력하는 것이 요구 사항이다. 음.. 일단 Tree 의 순회에서 기준이 되는 것은 Root 노드이다. InOrder 와 PostOrder 는 주어지는데, 이로부터 Root 노드를 어떻게 찾을 수 있을까? PostOrder 는 left - ri..
앞으로 개발자로 일하고 싶은데 비전공자이기도 하니 CS 지식을 조금 정리하는 느낌으로 정보처리기사 필기 시험(2023 정기기사 1회)을 응시했었다. 원래 계획은 출제되는 개념들을 깊게 공부하면서 면접도 대비하고.. 그렇게 하려고 했는데 생각보다 너무 너무 바쁘고 일이 겹쳐서 공부를 못했다.. 😢 눈앞에 쌓인 일들을 하나씩 쳐내다가 문득, 아 정처기 시험 접수했었지.. 하고선 시험날짜를 보니까 3일 후... 벼락치기를 하기로 결심했다! 일단 목차를 보고, 내가 잘 모르는 파트만 골라냈다. 기존에 운영체제, 데이터베이스, 컴퓨터네트워크, 프로그래밍언어활용, 알고리즘, 자료구조 파트는 어느정도 백그라운드가 쌓여 있었다고 생각했기에 조금 생소했던 소프트웨어공학, 소프트웨어개발방법론, 보안 파트만 시중의 개념책으..
https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 문제 상황은 되게 단순하다. 가중치가 존재하는 트리 구조가 주어졌을 때, 임의의 A 노드부터 B 노드까지의 경로가 존재할 것이고 그 중 최장 경로를 트리의 지름이라고 정의한다. 트리의 지름을 반환하면 된다. 음.. 어떻게 풀지? 일단 시간 제한은 2초로 평범한 편이고, 데이터를 보니까 노드의 개수는 100000 개이다. 에지의 개수는 주어지지 않았으나, 최대 100000 - 1 개..
1. Introduction Image denoising 의 기본적인 목적은 noisy observation y 로부터 깨끗한 이미지 x 를 얻어내는 것이다. ( y = x +v ) 이때 v 는 AWGN(additive white Gaussian noise with standard deviation) 으로 가정한다. 본 논문에서 제안하는 DnCNN 모델은 image denoising 을 plain discriminative learning problem 으로 간주한다. 이는 noisy image 로부터 noise 를 feed-forward convolutional neural network 로 분리하고자 한다는 것이다. CNN 을 사용하는 이유는 아래와 같다. 1. deep 한 CNN 구조는 이미지의 특..
https://www.acmicpc.net/problem/20040 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net N 명의 선수가 선분을 번갈아가면서 그리는 게임을 M 차례까지 진행했을 때, 중간에 사이클이 생긴다면 사이클이 생겼던 회차를, M 번 진행하는 동안 사이클이 발생하지 않았다면 0 을 출력하면 된다. 예제를 통해 생각해보자. 0 과 1 을 선택하여 0-1 선분을 긋는다는 것은 0 과 1 은 같은 집합으로 Clustering 된다는 것이다. m 번의 회차마다 주어지는 두 포인트를 같은 집합으로 ..
https://www.acmicpc.net/problem/1450 1450번: 냅색문제 첫째 줄에 N과 C가 주어진다. N은 30보다 작거나 같은 자연수, C는 109보다 작거나 같은 음이 아닌 정수이다. 둘째 줄에 물건의 무게가 주어진다. 무게도 109보다 작거나 같은 자연수이다. www.acmicpc.net 브루트포스로 문제를 해결하기에는 N 이 너무 큰 경우에 시간 초과가 발생할 수 있다. 이때 다양한 방법으로 최적화를 시도할 수 있겠지만, 분할정복처럼 N 을 절반씩 나눠서 연산한 다음에 결과를 합쳐서 문제를 푸는 것을 meet in the middle 알고리즘이라고 한다. 다만, 재귀적으로 반복해서 N/2, N/4 ... 1 처럼 계속 쪼개는 게 아니고 맨 처음에 1회만 반으로 쪼개는 것이다. 예..
(title: [백준 13549/1956/1620/2629] 자바) A. 숨바꼭질3 BOJ 13549 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 난이도 Gold 5 풀이 시간 20 분 분류 다익스트라 / 0-1 BFS 시간복잡도 다익스트라 : O(nlogn) 0-1 BFS : O(V+E) = O(N+N) ~= O(N) 공간복잡도 일차원 그래프에서 다익스트라 알고리즘을 수행하여 쉽게 해결할 수 있다. 다익스..
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요즘 백준에서만 문제를 풀고 있는데 외부 IDE 가 허용되지 않는 코딩테스트를 대비하여, 오랜만에 프로그래머스 플랫폼에서 가장 최신 문제를 하나 골라서 풀어보았다. String 이 담긴 cards1, cards2, goal 배열이 주어졌을 때 cards1, cards2 를 각각 순서대로 한 장씩 사용했을 때 goal 배열을 완성할 수 있는지 확인해야 한다. 말이 조금 번잡한데, 예시를 보면 이해..