Python 22

[백준] 2455:지능형 기차 - Python

📖 문제 설명 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. 이 장치를 이용하여 출발역에서 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 계산하려고 한다. 단, 이 기차를 이용하는 사람들은 질서 의식이 투철하여, 역에서 기차에 탈 때, 내릴 사람이 모두 내린 후에 기차에 탄다고 가정한다. 내린 사람 수탄 사람 수1번역(출발역)2번역3번역4번역(종착역) 내린 사람 수 탄 사람 수 1번역(출발역) 0 32 2번역 3 13 3번역 28 25 4번역 39 0 예를 들어, 위와 같은 경우를 살펴보자. 이 경우, 기차 안에 사람이 가장 많은 때는 2번역..

카테고리 없음 2021.09.20

[프로그래머스] 없는 숫자 더하기 - Python

📖 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. ✔️ 제한조건 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 수 ≤ 9 numbers의 모든 수는 서로 다릅니다. 💻 나의 코드 def solution(numbers): numli = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 숫자의 배열 초기화 for number in numbers: numli.remove(number) # 모든 숫자 배열에서 numbers에 있는 값 제거 return sum(numli) # 남은 값의 합 📜 채점 결과 ..

[프로그래머스] 약수의 개수와 덧셈 - Python

📖 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. ✔️ 제한조건 1 ≤ left ≤ right ≤ 1,000 ✔️ 입출력 예 left right result 13 17 43 24 27 52 💻 나의 코드 def solution(left, right): li = [i for i in range(left, right + 1)] # left부터 right까지의 수로 이루어진 배열 for idx, item in enumerate(li): if getCnt(item) % 2 != 0: # 약수의 개수가 홀수면 li[id..

[프로그래머스] 숫자 문자열과 영단어 - Python

📖 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 숫자 영단어 0 zero 1 one 2 two 3 three 4 four 5 five ..

[프로그래머스] 위클리챌린지 1주차 - Python

📖 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. ✔️ 제한조건 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용..

카테고리 없음 2021.08.24

[백준] 19698:헛간 청약 - Python

📖 문제 설명 농부 존은 소들을 위해 새로운 헛간을 지었다. 소들의 리더인 암소 베시는 새로운 헛간에 입주할 소들을 추첨으로 정하기로 했다. 소들은 그동안 모아 왔던 건초 더미를 담보로 추첨에 응모했다. 이번 추첨에는 총 N마리의 소가 응모했다. 헛간은 W×H 크기의 직사각형이다. 베시는 소 한 마리당 L×L 크기의 공간을 배정할 계획이다. 베시는 헛간을 최대한 효율적으로 나누어 최대한 많은 소를 입주 시키려고 한다. 헛간에는 최대 몇 마리의 소들이 입주할 수 있는지 출력하라. 소들이 입주하는 공간의 각 변은 직사각형의 각 변에 대해 수평 혹은 수직이여야 한다. ✔️ 입력 소들의 수 N, 헛간의 크기 W×H를 나타내는 두 정수 W와 H, 그리고 소들에게 배정되는 공간의 크기 L이 순서대로 주어진다. ✔️..

[백준] 13136:Do Not Touch Anything - Python

📖 문제 설명 ACM-ICPC 대회의 대회장은 R행 C열의 직사각형 형태로 좌석이 배치되어 있다. 대회가 시작하기 전에는 참가자들이 아무것도 만지면 안 되기 때문에 진행자는 'Do not touch ANYTHING!!!'을 연신 외친다. 하지만, 진행자가 성대결절에 걸리면서 'Do not touch ANYTHING!!!'을 외칠 수 없는 처지가 되었다. 따라서 주최측은 CCTV를 설치하여 참가자들을 감시하려고 한다. 이때, 각 CCTV는 N행 N열의 직사각형 영역의 좌석을 촬영할 수 있다. 모든 좌석을 전부 촬영하도록 CCTV를 배치할 때, 최소 몇 개의 CCTV가 필요할까? ✔️ 입력 첫 번째 줄에 좌석의 세로 크기, 가로 크기 R, C와 한 대의 CCTV가 수용할 수 있는 범위 N이 주어진다. (1 ..

[백준] 5532:방학 숙제 - Python

📖 문제 설명 상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다. 방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다. 상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오. ✔️ 입력 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. ✔️ 출력 첫째 줄에 상근이가 놀 수 있는 날의 최댓값을 출력한다. 💻 ..

[백준] 2386:도비의 영어 공부 - Python

📖 문제 설명 꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다. 그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다. 여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다! ✔️ 입력 입력은 몇 개의 줄들로 이루어진다. 각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다. 각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다. ✔️ 출력 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다. 💻 나의 코드..

[백준] 1357:뒤집힌 덧셈 - Python

📖 문제 설명 어떤 수 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보다 작거나 같은 자연수이다. ✔️ 출력 첫째 줄에 문제의 정답을 출력한다. 💻 나의 코드 arr = list(input().split()) # 두 수를 입력받아 배열 형태로 저장 arr[0] = arr[0][::-1] # 첫 번째 수를 뒤집음 arr[1] = arr..