본문 바로가기

728x90
반응형

분류 전체보기

(203)
[백준] 키보드 이벤트 : 17254번 - Python https://www.acmicpc.net/problem/17254 17254번: 키보드 이벤트 첫째 줄에 연결된 키보드의 개수 N과, 키보드를 누르게 될 횟수 M이 주어진다. (1 ≤ N, M ≤ 1,000) 다음 M개의 줄에 정수 a, b와 문자 c가 주어진다. 이는 a번 키보드로, b초에 문자 c가 적힌 키를 www.acmicpc.net 문제의 접근 방법 "키보드가 눌린 시간 순서대로 출력 -> 번호가 작은 키보드부터 누른 키가 출력됨" 위 순서로 정렬하기 내가 막혔던 부분 출력된 시간 순서대로 정렬하는 것만 생각함 -> 출력된 시간이 같을 경우 번호가 작은 키보드 순으로 정렬하는 조건을 포함시키지 않았어서 오답 문제 풀이 방법 키보드 개수(n), 키보드를 누르게 될 횟수(m)를 입력받기 -> m개..
[백준] 카우버거 : 15720번 - Python https://www.acmicpc.net/problem/15720 15720번: 카우버거 첫째 줄에는 주문한 버거의 개수 B, 사이드 메뉴의 개수 C, 음료의 개수 D가 공백을 사이에 두고 순서대로 주어진다. (1 ≤ B, C, D ≤ 1,000) 둘째 줄에는 각 버거의 가격이 공백을 사이에 두고 주어진 www.acmicpc.net 문제의 접근 방법 - 버거의 개수, 사이드 메뉴의 개수, 음료의 개수를 모두 내림차순으로 정렬 - 세트 할인을 받을 수 있는 최소 쌍의 개수를 찾기 내가 막혔던 부분 할인을 받을 수 있게 구성할 수 있는 세트의 개수를 어떻게 계산해야 할 지 몰라서 반복문의 범위를 정하지 못함. 문제 풀이 방법 (1) 버거의 개수(b), 사이드 메뉴의 개수(c), 음료의 개수(d)를 입력 받..
[백준] 접두사 찾기 : 14426번 - Python https://www.acmicpc.net/problem/14426 14426번: 접두사 찾기 문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자 www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] startstwit() 사용하기 -> 접두사 찾기 : 대소문자를 구분하고 인자값에 있는 문자열이 해당 문자열에 있으면 True, 없으면 False를 반환한다. string = "I love 20s" print(string.startswith("I")) >>> Tr..
[백준] 카드 바꿔치기 : 18766번 - Python https://www.acmicpc.net/problem/18766 18766번: 카드 바꿔치기 범고래와 돌고래는 카드놀이를 좋아한다. 각 카드는 빨강 (R), 노랑 (Y), 파랑 (B) 중 하나의 색으로 칠해져 있고 0-9 사이의 숫자가 적혀있다. 색과 숫자가 같은 카드가 여러 장 있을 수도 있다. 최 www.acmicpc.net 문제를 풀면서 몰랐던 개념 조건문에 바로 리스트를 정렬시켜서 사용할 수 있음 (ex) if before == after or sorted(before) == sorted(after): print("NOT CHEATER") 문제의 접근 방법 정렬 후 비교 -> 카드가 배치된 순서가 달라도 카드 목록이 일치하기 때문! 문제 풀이 방법 테스트케이스 T 입력받기 -> 카드 개수 n ..
[백준] 멀티버스 Ⅰ : 20291번 - Python https://www.acmicpc.net/problem/18868 18868번: 멀티버스 Ⅰ M개의 우주가 있고, 각 우주에는 1부터 N까지 번호가 매겨진 행성이 N개 있다. 행성의 크기를 알고 있을때, 균등한 우주의 쌍이 몇 개인지 구해보려고 한다. 구성이 같은데 순서만 다른 우주의 쌍 www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] 리스트 원소들을 크기 순서대로 번호 매기기 arr = [10, 5, 1, 7] # 다음과 같은 리스트가 있음 s_arr = sorted(arr) # 순서를 찾기 위해 정렬 a_idx = [] # 순서 번호를 저장하기 위한 빈 리스트 선언 for i in arr: # 위에서 선언한 리스트에 s_arr에서 찾은 순서(index)를 추가하기 a_..
[백준] 파일 정리 : 20291번 - Python https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] 리스트 요소별 개수 구하기 1) dictionary를 사용하기 : 딕셔너리에는 키 값이 하나만 존재한다는 특징을 가지고 있기 때문에 각 요소별 개수를 구할 수 있다. dict = {} test = [1,2,1,3,4,5,3,3] for i in test: if dict.get(i): dict[i] += 1 else: dict[i] = 1 print(dict) #..
[백준] 스텔라(STELLA)가 치킨을 선물했어요 : 15905번 - Python https://www.acmicpc.net/problem/15905 15905번: 스텔라(STELLA)가 치킨을 선물했어요 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 는 아주대학교, 경희대학교, 성균관대학교, 인하대학교, 한국항공대학교, 한양대학교ERICA가 함께하는 대학교 자체 연합 대회이다. shake! 는 매 www.acmicpc.net 문제의 접근 방법 입력 받은 값들을 정렬한 후, 5등 학생의 해결 문제 개수와 같은 그 다음 등수 학생들의 수 세기 문제 풀이 방법 참가자 수 N명 입력받기 -> 참가자가 해결한 문제의 개수(q)와 패널티(p) 입력받아서 arr에 추가하기 -> arr를 내림차순으로 정렬 -> 5등 학생의 해결 문제수와 같은 학생들의 수를 구하는 것이기 때문에 for문의..
[백준] 너의 핸들은 : 15819번 - Python https://www.acmicpc.net/problem/15819 15819번: 너의 핸들은 첫 줄에 현정이가 기억하고 있는 핸들의 개수 N과 I(1 ≤ I, N ≤ 100)이 주어진다. 이후 N개의 줄에 걸쳐 현정이 기억하는 핸들이 무작위 순서로 주어진다. 모든 핸들은 영어 소문자와 숫자로만 이 www.acmicpc.net 문제의 접근 방법 현정이가 기억하고 있는 핸들을 정렬하기 문제 풀이 방법 현정이가 기억하고 있는 핸들의 개수 N개와 I값 (나중에 현정이가 기억하고 있는 N개의 핸들 중 I번째 값 출력할 때 쓰임) 입력받기 -> N번 반복문을 돌려 N개의 핸들을 입력받아 미리 선언해둔 빈 리스트 arr에 추가 -> 리스트 arr 정렬하기 -> 인덱스는 0번째 요소부터 시작하기 때문에 I-1을 해주..

728x90
반응형