본문 바로가기

728x90
반응형

분류 전체보기

(203)
[백준] 치킨 TOP N : 11582번 - Python https://www.acmicpc.net/problem/11582 11582번: 치킨 TOP N 인하대 주변 치킨칩의 맛의 정도를 측정해 수치화하는 동아리 C.T.P(Chicken Tastes Perfect)의 회장 민호는 치킨집의 맛의 수치를 감소하지 않는 순으로 정렬을 하고 싶었다. 하지만 치킨집이 너무 많 www.acmicpc.net 문제를 풀면서 몰랐던 개념 - 분할 정복 알고리즘 풀고자 하는 어려운 문제를 쪼갠 후, 쪼갠 문제를 합치는 것을 분할 정복(Divide and Conquer)이라고 한다. 문제의 접근 방법 이 문제에서는 N과 K값 모두 2의 거듭제곱 꼴이므로 위와 같은 규칙이 성립될 수 있다. 내가 막혔던 부분 인덱스 슬라이싱으로 끊어서 저장할 생각(한계) -> for문에서 증가치를..
[백준] 귀찮음 : 16208번 - Python https://www.acmicpc.net/problem/16208 16208번: 귀찮음 현우는 무슨 이유에선지 길이 a1, ..., an의, 총 n개의 쇠막대가 필요해졌다. 하지만 그가 가진 것은 길이 a1+...+an의 하나의 쇠막대뿐이었다. 현우는 이 막대를 직접 잘라서 원래 필요하던 n개의 쇠 www.acmicpc.net 문제의 접근 방법 * 현우가 가진 하나의 쇠막대 길이 = a1~an까지의 합. * 막대는 한 번에 n개로 나눠지는 것이 아니라 두 조각으로 나눈 후, 남은 조각을 또 두 조각으로 나누고... 이 과정을 반복. * 정렬이 불필요. 내가 막혔던 부분 길이 x+y인 막대를 길이 x,y인 두 개의 막대로 자를 때, 두 막대의 길이의 곱인 xy비용이 든다는 부분을 이해하지 못함. -> 두..
[백준] 줄 세우기 : 11536번 - Python https://www.acmicpc.net/problem/11536 11536번: 줄 세우기 이름이 증가하는 순으로 나타나면 INCREASING, 감소하는 순이면 DECREASING을 한 줄에 출력한다. 만약 위의 두 경우가 아니라면 NEITHER를 출력한다. www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] 리스트의 정렬 여부 체크하기 -> sorted 함수 사용 arr = [30, 24, 10, 5, 2] is_sorted = (sorted(arr) == arr) # It returns False is_sorted = (sorted(arr, reverse = True) == arr) # It returns True 문제의 접근 방법 리스트의 정렬 여부 확인하기 내가 막혔던 부분 ..
[백준] 제 2회 IUPC는 잘 개최될 수 있을까? : 12788번 - Python https://www.acmicpc.net/problem/12788 12788번: 제 2회 IUPC는 잘 개최될 수 있을까? 2016년 5월 28일 제 2회 인하대학교 프로그래밍 경시대회(IUPC)가 개최된다. 이 대회는 다른 프로그래밍 경시대회와 다르게 손코딩으로 문제를 풀어야한다. CTP회장인 정은이는 모든 대회 참가자들 www.acmicpc.net 문제의 접근 방법 - 대회에 참가한 사람의 수를 어떻게 구할지 생각해보기 - 최소 인원의 회원들에게 펜을 빌리기 위해서는 가장 펜을 많이 가지고 있는 회원을 우선시! 내가 막혔던 부분 펜의 개수가 부족할 때 "STRESS" 를 출력하는 방법 -> break문을 걸어주지 않아서 반복 출력되게 함. 문제 풀이 방법 CTP의 회원 수 n명 입력 받기 -> 참가..
[백준] 아우으 우아으이야!! : 15922번 - Python https://www.acmicpc.net/problem/15922 15922번: 아우으 우아으이야!! N개의 선분을 모두 그렸을 때, 수직선 위에 그어진 선분 길이의 총합을 출력한다아아어으잉에애야우아으아이아야아아아아아아이야!!! www.acmicpc.net 문제의 접근 방법 - 선분이 겹치는 경우의 수를 case별로 나눠서 생각해보기 - x,y는 좌표가 아니라 구간을 의미 - 입력되는 x와 y값은 오름차순으로 정렬되어 있는 것과 같음 - 처음 입력 받는 x,y 값과 그 다음에 입력받을 x,y값들을 분리해서 입력 받기 내가 막혔던 부분 선분이 그려질 수 있는 경우의 수를 파악하지 못 함. 문제 풀이 방법 (1) 수직선 위에 그릴 선분의 개수 N을 입력 받는다. (2) 가장 처음으로 입력 받을 x,y값을 ..
[백준] 수열과 쿼리 3 : 13544번 - Python https://www.acmicpc.net/problem/13544 13544번: 수열과 쿼리 3 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오. i j k: Ai, Ai+1, ..., Aj로 이루어진 부분 수열 중에서 k보다 큰 원소의 개수를 출력한다. www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] 문제의 접근 방법 입 내가 막혔던 부분 f 문제 풀이 방법 케 소스코드
[백준] Project Teams : 20044번 - Python https://www.acmicpc.net/problem/20044 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 www.acmicpc.net 문제의 접근 방법 - 학생의 수는 항상 짝수. - 가장 높은 역량을 가진 학생과 가장 낮은 역량을 가진 학생이 한 팀이 되면 됨. - 오름차순 정렬, 내림차순 정렬. - 최솟값 구하기. 문제 풀이 방법 팀 수를 나타내는 N 입력 받기 -> 학생들의 코딩 역량을 나타내는 양의 정수 2N개 입력받아 리스트에 저장 -> 가장 큰 수와 가장 작은 수를 같은 팀에 넣기..
[백준] 단어 퍼즐 : 9946번 - Python https://www.acmicpc.net/problem/9946 9946번: 단어 퍼즐 케이스마다 번호를 붙여서 예제출력과 같은 형식으로 출력한다. 준하가 알파벳을 제대로 회수했다면 same 을, 잘못 회수했다면 different 를 출력한다. www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] 문자열(string)을 한 글자씩 끊어서 리스트로 바꾸기 -> 입력 받은 문자열을 하나하나 분리해서 리스트에 저장하고 싶을 때 사용! str = "love" print(list(str)) >>> ['l','o','v','e'] a = list(str) print(a) >>> ['l','o','v','e'] 문제의 접근 방법 입력 받은 문자열을 하나하나씩 끊어서 저장한 후 정렬하기! 내가 막혔..

728x90
반응형