분류 전체보기

·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net [풀이] 커플 좌석인 "LL" 좌석일 경우 replace 함수를 이용해 "LL"을 "L"로 변환하여 좌석 두 개를 한 좌석으로 바꿔주었다. len 함수를 통해 해당 문자열의 길이를 구한 다음 1을 더해준 값이 컵홀더를 놓을 수 있는 최대 사람의 값이다. 특별히 신경 쓸 부분은 만약 좌석이 "SSSSS"일 경우에는 문자열의 길이를 구한 후 1을 더하게 되면 6, 즉 총 사람 수인 5명보다 많기 때문에 입력 문자열에 "LL"이 없는 경우에는 n을 출력하게 만들었다. [코드] if __nam..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2979 2979번: 트럭 주차 첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장 www.acmicpc.net [풀이] 트럭 세 대의 도착시간과 떠난 시간을 table 리스트에 담는다. 그 후 떠난 시간 세 개를 max함수로 비교해 가장 마지막으로 떠난 트럭의 시간을 구해 해당 크기의 리스트 parking을 만들어 모두 0으로 초기화한다. 콘솔에 입력한 시간은 1부터 시작하나 리스트의 인덱스는 0부터 시작하기 때문에 도착시간과 떠난 시간 모두 각 값에서 1씩 빼 parking ..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2789 2789번: 유학 금지 아주 멀리 떨어져 있는 작은 나라가 있다. 이 나라에서 가장 공부를 잘하는 학생들은 모두 다른 나라로 유학을 간다. 정부는 최고의 학생들이 자꾸 유학을 가는 이유를 찾으려고 했다. 하지만, www.acmicpc.net [풀이] 입력 str의 첫 번째 문자부터 "CAMBRIDGE"에 포함된 알파벳이 있는지 비교한다. 같지 않을 때마다 변수 cnt를 1씩 증가시키는데 끝까지 비교했을 때 cnt가 9라면 "CAMBRIDGE"에 있는 알파벳이 포함되어있지 않은 경우이기 때문에 최종 출력 문자 completed에 문자를 추가한다. 위 과정은 replace 함수를 쓰면 간단해지는데 "CAMBRIDGE"의 알파벳이 있을..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net [풀이] 사용자 입력 값을 split() 함수로 나누어 변수 text에 넣으면 빈칸을 제외한 각 단어로 리스트가 만들어진다. 그렇게 만들어진 리스트의 길이를 구하면 완성 [코드] if __name__ == '__main__': text = input().split() print(len(text))
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2037 2037번: 문자메시지 첫째 줄에 p와 w가 주어진다. (1 ≤ p, w ≤ 1,000) p는 버튼을 한번 누르는데 걸리는 시간이고, w는 AC와 같은, 같은 숫자인 문자를 연속으로 찍기 위해 기다리는 시간을 의미한다. 그리고 둘째 줄에는 www.acmicpc.net [풀이] 그림대로 파이썬 이중 리스트를 만들었다. total과 past_j 변수를 초기화한 후 입력받은 값을 넣은 text 변수의 첫 번째 글자부터 가져와 그 글자가 공백(' ')이면 2를 추가, 아닐 경우 이중 리스트 keyboard에 접근해 첫 번째 글자와 일치하는 값이 있는 인덱스를 구했다. 만약 이전에 입력했던 글자와 현재 입력하려는 글자가 같은 버튼이라면(i..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1362 1362번: 펫 당신은 게임으로 펫을 기르고 있습니다. 이 펫은 웃는 표정, 슬픈 표정을 가지고 있으며, 만약 죽는다면 '드러눕습니다.' 펫에게는 적정 체중이 있습니다. 펫의 실제 체중이 적정 체중의 1/2배를 www.acmicpc.net [풀이] 이번 문제의 놓치기 쉬운 중요한 포인트는 펫이 죽었을 경우에 다시 살릴 수 없다는 것이다. 때문에 'E' 또는 'F'와 n 값이 입력돼 펫의 실제 체중을 구할 때마다 실제 체중이 0 이하인지를 확인해 펫이 죽었는지 확인했다. 만약 die 가 True로 바뀌었을 경우, 조건문 if not die에 진입하지 못해 더 이상 밥을 주거나 운동을 시킬 수 없게 된다. [코드] if __name_..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2596 2596번: 비밀편지 병현이는 지은이에게 문자 A, B, C, D, E, F, G, H 로 쓰여진 편지를 날마다 보내는데, 컴퓨터로 보내는 비밀편지로, 한 문자마다 0 또는 1인 숫자 여섯 개를 사용하여 보낸다. 둘 사이의 약속은 다음과 www.acmicpc.net [풀이] 병현이가 보낸 문자를 6자씩 끊어 리스트 s_li에 저장하고 둘 사이의 약속은 리스트 promise에 저장한다. 3중 중첩 반복문으로 병현이가 보낸 문자 s_li를 기준으로 두고 promise와 차례대로 한 문자씩 비교하면서 각 자리의 문자가 일치할 경우 cnt가 1 증가한다. 병현이가 문자를 제대로 보냈을 경우와 한 자만 틀렸을 경우(cnt >= 5)에는 해..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 www.acmicpc.net [풀이] 리스트.sort()만 쓰면 중앙값 쉽게 구할 수 있음 [코드] if __name__ == '__main__': number = [int(input()) for _ in range(5)] number.sort() print(round(sum(number) / 5)) print(number[2])
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2592 2592번: 대표값 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은 www.acmicpc.net [풀이] 간단한 계산 문제 코드 단순화에 중점을 뒀다. ## 1번 number = [] for _ in range(10): number.append(int(input())) ## 2번 number = [int(input()) for _ in range(10)] 1번 → 2번 간단하게 구현 ## 1번 for i in range(len(number)): su..
서채리
'분류 전체보기' 카테고리의 글 목록 (24 Page)