문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지 그 최소 일수를 알고 싶어 한..
문제 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. 전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다. 예를 들어, 위의 이진 검색 트리의 전위 순회 결과는 50 30 24 5 28 45 98 52 60 이고, 후위 순회 결과는 5 28 24 45 30 60 52 98 50 이다. 이진 검색 트리를 전위 순회한 결과가 ..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 풀이 버블 정렬 : 두 인접한 데이터의 크기를 비교해 정렬하는 방법 간단하게 구현할 수 있지만, 시간 복잡도는 O(n²) 1. 변수 n(수의 개수), a(n개의 수 - 리스트) 선언 리스트 a를 a=[]로 선언한 후, 반복문을 통해 값을 변경하도록 코드를 작성해 실패했다. 애초에 존재하지 않는 인덱스의 값을 변경하려고 했기 때문이다. a=[0]*n 으..
2739번 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. n = int(input()) for i in range(1, 10) : print('%d * %d = %d'% (n, i, n*i)) 파이썬을 배워보자 9일차 - 반복문(while, for) 점프 투 파이썬 : https://wikidocs.net/book/1파이썬 기본을 갈고 닦자 : https://wikidocs.net/16031보통 대부분의 언어가 반복문으로 for, while이 있다. (go는 for문만 있다) 파이썬 역시도 for velog.io 15552번 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다..
1330번 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. a, b = map(int, input().split()) if a>b: print('>') elif a=90 and score =80 and score =70 and score =60 and score 23 : print(a+((b+c)//60)-24, (b+c)%60) else : print(a+((b+c)//60), (b+c)%60) 문자열 + 변수 출력 방법 2480번 3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오. a, b, c = map(int, input().split()) if a==b and b==c : print(10000+a*1000) elif a==b or b==c:..
1000번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. print(sum(map(int, input().split()))) a와 b를 각 변수로 저장하지 않고, sum 함수를 이용해 한 줄로 완성할 수 있다 ! 1001번 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. a, b = map(int, input().split()) print(a-b 런타임 에러? a, b = map(int, input().split())와 같이 적을 경우, 입력을 공백 문자를 기준으로 나눈 뒤, 그렇게 나눈 값들에 int 함수를 취하고, 그런 값이 2개일 때 a, b에 각각 그 값을 할당하게 됩니다. 예를 들어 입력이 '3 5'였을 경우 input().split()..