분류 전체보기 (104) 썸네일형 리스트형 BOJ 13305 주유소 (python) 파이썬 13305 주유소 Silver 4 문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. 각 도시에는 단 하나의 주유소가 있으며, 도시 마다 주유소의 리터당 가격은 다를 수 있다. 가격의 단위는 원을 사용한다. 예를 들어, 이 나라에 다음 그림처럼 4개의 도시가 .. BOJ 9372 상근이의 여행 (python) 9372_상근이의 여행 Silver III 문제 상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다. 이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자. 상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도) 된다. 입력 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 주어진다... BOJ 20364 부동산 다툼 (python) 20364_부동산 다툼 Silver 2 문제 이진 트리 모양의 땅으로 이루어진 꽉꽉마을에는 오리들이 살고 있다. 땅 번호는 다음과 같이 매겨진다. 루트 땅의 번호는 1이다. 어떤 땅의 번호가 K라면, 왼쪽 자식 땅의 번호는 2 × K, 오른쪽 자식 땅의 번호는 2 × K + 1이다. 어느날 오리들끼리 부동산 다툼이 일어나서 꽉꽉마을 촌장 경완이가 해결책을 가져왔고, 그 내용은 다음과 같다. 오리들을 한 줄로 대기시킨다. 맨 처음 오리들은 1번 땅에 위치해 있다. 오리들이 서있는 순서대로 원하는 땅을 가지도록 한다. 만약, 한 오리가 원하는 땅까지 가는 길에 이미 다른 오리가 점유한 땅이 있다면 막대한 세금을 내야 하는 이유로 해당 땅을 지나가지 못해 그 오리는 땅을 가지지 못한다. 오리가 원하는 땅까지 .. SWEA 5174 subtree (python) 5174. [파이썬 S/W 문제해결 기본] 8일차 - subtree 문제 트리의 일부를 서브 트리라고 한다. 주어진 이진 트리에서 노드 N을 루트로 하는 서브 트리에 속한 노드의 개수를 알아내는 프로그램을 만드시오. 주어지는 트리는 부모와 자식 노드 번호 사이에 특별한 규칙이 없고, 부모가 없는 노드가 전체의 루트 노드가 된다. 이런 경우의 트리는 부모 노드를 인덱스로 다음과 같은 방법으로 나타낼 수 있다. 자식 노드가 0인 경우는 노드가 자식이 없는 경우이다. 부모 1 2 3 4 5 6 자식1 6 1 0 0 3 4 자식2 0 5 0 0 0 0 [입력] 첫 줄에 테스트케이스의 수 T가 주어진다. 1 SWEA 5176 이진탐색 (python) 5176. [파이썬 S/W 문제해결 기본] 8일차 - 이진탐색 D2 문제 1부터 N까지의 자연수를 이진 탐색 트리에 저장하려고 한다. 이진 탐색 트리는 어떤 경우에도 저장된 값이 왼쪽 서브트리의 루트 SWEA 5177 이진 힙 (python) 5177. [파이썬 S/W 문제해결 기본] 8일차 - 이진 힙 D2 문제 이진 최소힙은 다음과 같은 특징을 가진다. - 항상 완전 이진 트리를 유지하기 위해 마지막 노드 뒤에 새 노드를 추가한다. - 부모 노드의 값 SWEA 10729 이진수 표현 (python) 10729. 이진수 표현 D3 문제 정수 N, M 이 주어질 때, M의 이진수 표현의 마지막 N 비트가 모두 1로 켜져 있는지 아닌지를 판별하여 출력하라. [입력] 첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다. 첫 번째 줄에 정수 N, M이 주어진다. (1 ≤ N ≤ 30 , 0 ≤ M ≤ 108) [출력] 각 테스트 케이스마다 한 줄씩 마지막 N개의 비트가 모두 켜져 있다면 ON 아니면 OFF 를 출력하라. 풀이과정 기존에는 스트링으로 풀었지만 이진수 표현이 필요하다는 것이 느껴졌다. 훨씬 쉽고빠르다. 스트링으로 푼것은 1000개의 테스트 케이스 중에서 2개가 맞지 않아서 고민을 해볼 필요가 있.. SWEA 5186 이진수2 (python) [toc] 5186. [파이썬 S/W 문제해결 구현] 1일차 - 이진수2 D2 문제 0보다 크고 1미만인 십진수 N을 이진수로 바꾸려고 한다. 예를 들어 0.625를 이진 수로 바꾸면 0.101이 된다. N = 0.625 0.101 (이진수) = 1x2^-1 + 0x2^-2 + 1x2^-3 = 0.5 + 0 + 0.125 = 0.625 N을 소수점 아래 12자리 이내인 이진수로 표시할 수 있으면 0.을 제외한 나머지 숫자를 출력하고, 13자리 이상이 필요한 경우에는 ‘overflow’를 출력하는 프로그램을 작성하시오. [입력] 첫 줄에 테스트케이스의 수 T가 주어진다. 1 이전 1 ··· 9 10 11 12 13 다음