[Python] 백준 5063 - TGN
·
Algorithm
문제 상근이는 TGN사의 사장이다. TGN은 Teenager Game Network의 약자 같지만, 사실 Temporary Group Name의 약자이다. 이 회사는 청소년을 위한 앱을 만드는 회사이다. 일년에 걸친 개발기간 끝에 드디어 앱을 완성했고, 이제 팔기만 하면 된다. 상근이는 데이트를 인간의 두뇌로 이해할 수 없을 정도로 많이 한다. 따라서 엄청난 데이트 비용이 필요하다. 상근이는 광고를 적절히 해서 수익을 최대한 올리려고 한다. 어느 날 하늘을 바라보던 상근이는 시리우스의 기운을 받게 되었고, 광고 효과를 예측하는 능력을 갖게 되었다. 광고 효과가 주어졌을 때, 광고를 해야할지 말아야할지 결정하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 N이 주어진다. 다음 N개의 줄에는..
[Python] 백준 2506 - 점수계산
·
Algorithm
문제 OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점,..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다. 예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경우에는 0으로 표시하였을 때, 점수 계산은 아래 표와 같이 계산되어, 총 점수는 1+1+2+3+1+2=10 점이다. 시..
[Python] 백준 1357 - 뒤집힌 덧셈
·
Algorithm
문제 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 입력 첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 문제의 정답을 출력한다. 정답 x, y = map(str, input().split()) sum = str(int(x[::-1]) + int(y[::-1])) print(int(sum[::-1])) 참고 문자열을 [::-1]로 호출하면..
[Python] 삽입정렬
·
Algorithm/Python
삽입정렬 데이터의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. 삽입정렬과정 예를 들어 [2, 4, 5, 1, 3] 이 있을 때, 자신의 위치를 찾아 그 위치에 들어간다. [2, 4, 5, 1, 3] # 시작 [2 | 4, 5, 1, 3] # 2는 맨 앞에 위치하기 때문에 바꾸지 않는다. [2 4 | 5, 1, 3] # 4부터 비교, 2의 뒤이므로 바뀌지 않는다. [2 4 5 | 1, 3] # 5비교, 4의 뒤이므로 바뀌지 않는다. [2 4 | 5, 1, 3] # 1비교, 1의 자리는 맨 앞이므로 한 칸씩 옮겨가며 1의 자리에 1을 넣는다. [1 2 4 5 | 3] # 3비교, 3의 자리는 4와 5의 앞이므로 한 칸씩 옮..
[Python] 백준 2490 - 윷놀이
·
Algorithm
문제 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 개, 등 세 개), 개(배 두 개, 등 두 개), 걸(배 세 개, 등 한 개), 윷(배 네 개), 모(등 네 개) 중 어떤 것인지를 결정하는 프로그램을 작성하라. 입력 첫째 줄부터 셋째 줄까지 각 줄에 각각 한 번 던진 윷짝들의 상태를 나타내는 네 개의 정수(0 또는 1)가 빈칸을 사이에 두고 주어진다. 출력 첫째 줄부터 셋째 줄까지 한 줄에 하나씩 결과를 도는 A, 개는 B, 걸은 C, 윷은 D, 모는 E로 출력한다. 정답 for i in range(3): a = list(map(int, inp..
[Python] 백준 1427 - 소트인사이드
·
Algorithm
문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 정답 n = int(input()) a = list(str(n)) a.sort() a.reverse() for n in a: print(n, end="") n을 입력받고 a라는 리스트를 만들어 저장한다. sort()함수를 이용해 정렬하고, reverse()함수를 이용해 뒤집는다. for문을 이용해 출력한다.