코테

· Algorithms
문제 크기가 N×N인 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나. 도시의 칸은 (r, c)와 같은 형태로 나타낸다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리. 치킨 거리는 집을 기준으로 정해지며, 도시의 치킨 거리는 모든 집의 치킨 거리의 합 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 도시에 있는 치킨집 중에서 최대 M개를 고르고, 나머지 치킨집은 모두 폐업시켜야 한다. 어떻게 고르면, 도시의 치킨 거리가 가장 작게 될지 구하는 프로그램을 작성 입력 첫째 줄 : 도시 크기 N(2 ≤ N ≤ 50)과 치킨집 개수 M(1 ≤ M ≤ 13) 둘째 줄부터 N개의 줄 : 도시의 정보( 0 : 빈 칸, 1 : 집, 2 : 치킨 집) 출력 폐..
· Algorithms
문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 입력 첫째 줄: 단어의 개수 N 둘째 줄부터 N개의 줄 : 단어( 알파벳 소문자, 중복 X, 최대 길이 100) 출력 그룹 단어의 개수 ★Keypoint : 리스트 인덱싱, in문 파이썬의 in문을 사용하면 짧게 가능한 문제! n = int(input()) count = n # 모두가 다 그룹 단어일 때 최대 그룹단어 개수 for _ in range(n): word = input() for ..
· Algorithms
문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄: 수의 개수 N과 합을 구해야 하는 횟수 M 둘째 줄: N개의 수 셋째 줄부터 M개의 줄 : 합을 구해야 하는 구간 i와 j 출력 총 M개의 줄에 i번째 수부터 j번째 수까지 합을 출력 ★Key point : 누적합 알고리즘 사용하기 각 구간 입력마다 for문을 돌려서 합을 구하면 런타임 에러가 나기 때문! 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; class Main { // j) ..
· Algorithms
코딩테스트 문제를 풀다가 해설을 봐도 이해가 안 가서 정리하고자 글을 올립니다 Q. 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어 N = 5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리(화폐 단위) 동전이라고 가정합시다. 이 때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로 N = 3 이고, 각 동전이 각각 3원, 5원, 7원짜리(화폐 단위) 동전이라고 가정합시다. 이 때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. A. 화폐 단위를 오름차순으로 정렬한 후, 생성한 target 변수와 크기를 비교한다 targe..
유영서
'코테' 태그의 글 목록