백준 27885 가희와 열리지 않는 건널목 문제 풀이
백준 온라인 저지, 27885번: 가희와 열리지 않는 건널목 도입 문제의 상황을 아래와 같이 정리할 수 있다. 건널목을 통과하는 열차가 없다면 차단기가 올라간다. 그렇지 않으면 차단기가 내려간다. 열차가 건널목을 접근(=통과하기 시작)하면 40초 뒤 완전히 빠져나간다. 상행 열차와 하행 열차가 동시에 통과할 수 있다. 같은 방향의...
백준 온라인 저지, 27885번: 가희와 열리지 않는 건널목 도입 문제의 상황을 아래와 같이 정리할 수 있다. 건널목을 통과하는 열차가 없다면 차단기가 올라간다. 그렇지 않으면 차단기가 내려간다. 열차가 건널목을 접근(=통과하기 시작)하면 40초 뒤 완전히 빠져나간다. 상행 열차와 하행 열차가 동시에 통과할 수 있다. 같은 방향의...
백준 온라인 저지, 2557번: Hello World 도입 백준 온라인 저지에서는 어셈블리 언어 채점 환경을 NASM 32비트/64비트 구현체로 제공한다. 어셈블리 언어는 실행 환경에 따라 요구하는 코드 스펙이 조금씩 다르기 때문에, 채점 환경인 AWS EC2에 맞는 코드를 작성해야 한다. 구체적으로 NASM은 x86 아키텍처를 대상으로 하고,...
백준 온라인 저지, 1269번: 대칭 차집합 도입 문제에서 제시한 두 개의 집합의 대칭 차집합의 원소의 개수를 구한다. 풀어보기 각 집합의 원소의 개수가 $200,000$개까지 도달할 수 있으므로, 원소의 검색은 매우 오랜 시간이 걸릴 수 있다. 따라서 어떤 값 $N$에 대해 즉시 검색 가능하도록 맵 자료구조를 사용한다. for i in m...
백준 온라인 저지, 11332번: 시간초과 도입 주어진 시간 복잡도 $O(?)$ 식을 그대로 연산하여 제한 시간 내에 해당 시간 복잡도 알고리즘으로 통과할 수 있는지 여부를 출력한다. 풀어보기 Source: Big-O Cheat Sheet 다른 시간 복잡도 케이스와는 달리 $O(N!)$은 팩토리얼 값을 직접 계산해야 한다. 문제는 팩토리얼...
백준 온라인 저지, 24025번: 돌의 정령 줄세우기 도입 문제의 요구사항은 제시된 “시야 점수와 관련된 정수”의 조건에 충족되는 배치를 출력하는 것이다. 정령들이 가질 수 있는 시야 점수는 $j-i$로 정의된다. $A_i$가 음수라면 시야 점수는 $-A_i$로 정의되므로, 부호는 방향으로 생각할 수 있다. 돌정령이 오른쪽을 바라보므로, 양수는 ...
백준 온라인 저지, 16680번: 안수빈수 도입 수빈수는 자릿수의 합이 짝수인 정수, 안수빈수는 자릿수의 합이 홀수인 정수이다. 문제에서 예시로 제시한 $1093$은 $1 + 0 + 9 + 3 = 13$, 홀수이므로 안수빈수라고 파악할 수 있다. 문제의 요구 사항은 어떤 $N$에 대해 $N$의 배수에 안수빈수가 존재한다면 안수빈수를, 그렇지 않으...
백준 온라인 저지, 10944번: 랜덤 게임~~ 도입 채점 프로그램이 랜덤으로 선택하는 1부터 10,000 사이의 정수를 맞추는 문제이다. 채점 프로그램은 수를 매번 랜덤으로 제시하므로 매 제출은 1/10000, 0.01% 확률로 통과할 수 있다. 이 문제를 통과하기 위해서는 가능한 한 많은 답안을 제출해야 한다. 백준 온라인 저지는 당일 누적 ...
도입 코드를 작성하다보면 구문(Statement)과 표현식(Expression)이라는 용어를 종종 접하게 된다. 이 두 용어는 비슷한 것을 지칭하는 것으로 보인다. 이전에는 낯선 프로그래밍 언어의 문법을 확인하기 위해 “Ruby for loop statement”와 “Ruby for loop expression”을 혼용해서 검색했다. 하지만 엄밀...
도입 이터레이터(Iterator)를 직역하면 반복자라는 뜻이다. 이 이터레이터는 보통 반복 가능하다(Iterable)고 한다. for문에서의 이터레이터 for i in range(5): print(i) # 0 # 1 # 2 # 3 # 4 위는 가장 기본적인 형태의 for문이다. 표준 출력에 0, 1, 2, 3, 4를 순차적으로 출력한다. ...