Algorithm

3주차 | 문제 1. 0커플 문제 구름이는 다가오는 크리스마스에 커플이 아닌 지인들을 서로 소개해 주기로 한다. 구름이는 최대한 많은 커플들이 생기기 바라는 마음으로 아래의 기준으로 지인들에게 점수를 부여한다. 구름이의 지인의 수는 항상 짝수이다. 모든 점수는 0점을 제외한 정수이다. 지인들 중 같은 점수를 가지고 있는 경우는 없다. 만약에 n점이 있다면 -n이 항상 존재한다. 구름이는 지인들 중 점수의 합한 값이 0이 되는 두 명을 짝지어서 소개팅을 진행하기로 한다. 구름이는 위와 같은 규칙으로 지인의 점수를 부여하다가 실수로, 4번째 규칙을 지키지 못했다. 그래서 두 사람이 소개팅을 받지 못하게 되었다. 구름이가 이 문제를 해결하기 위해서 소개팅을 진행하지 못한 두 사람의 점수를 합한 값을 출력하시오..
2주차 | 문제 4. 폭탄 구현하기 문제 아래와 같은 그림의 정사각형이 있다. 그림과 같이 정사각형을 동일한 크기의 칸으로 나누었다고 했을 때, 맨 오른쪽, 아래의 칸을 arr[n][n]이라고 표현한다. 모든 위치에는 폭탄 값이 있는데, 모든 폭탄 값의 초기 값은 0이다. 위 그림을 기준으로 나누어진 사각형 중 하나를 선택하여 폭탄을 떨어트립니다. 폭탄이 떨어진 지점은 arr[2][3]이라고 하면 아래의 노란색 모양으로 폭탄이 터진다. 위의 십자가 모양처럼 폭탄이 터지면 폭탄이 터져 영향을 받은 위치의 폭탄 값이 올라갑니다. 이를 그림으로 표현하면 아래와 같습니다. 이때 폭탄 값은 영향을 받는 횟수만큼 무한히 올라간다. 즉 같은 위치에 여러 번 영향을 받는다면, 그 만큼 폭탄 값이 증가한다. 폭탄이 터지..
2주차 | 문제 3. 출석부 문제 구름이는 N명의 사람들의 이름과 키 정보를 가지고 있는 출석부를 만들기로 합니다. 출석부의 순서는 이름을 기준으로 사전 순서로 정렬되어 있지만, 이름이 같다면 키가 큰 순서대로 정렬하기로 합니다. 이때, 사람들의 이름과 키가 모두 같은 사람은 없으며, 키는 소수 2번째 자리 까지 알고 있습니다.모든 사람들의 이름과 키가 주어졌을 때, 출석부를 완성하고 k번째 있는 사람의 이름과 키를 공백을 두고 출력하시오. 입력 첫째 줄에 사람의 수 N(1≤N≤10,000)과 찾아야 하는 수 k(1≤k≤N)이 공백을 두고 주어진다. 둘째 줄부터 N줄에 걸쳐서 사람의 정보가 주어진다. 사람의 정보는 이름 s와 키 t가 각각 공백을 두고 주어진다. 이름은 모두 알파벳 소문자이며, 키는 10..
2주차 | 문제 2. 공통 문자열 문제 문자열 s가 주어졌을 때, 아래의 기준에 따라서 문자열을 분리하고 분리된 개수를 출력하시오. 같은 문자끼리 하나의 집합이 된다. 같은 문자라도 떨어져 있다면 다른 집합이 된다. 예시로 문자열 aabbcca는 {aa}, {bb}, {cc}, {a} 로 총 4개의 분리 집합을 가지고 있다. 문자열이 주어질 때, 조건에 따라서 분리된 집합의 개수를 출력하시오. 입력 첫째 줄에 문자열의 길이 n(1≤N≤10,000)이 주어진다. 둘째 줄에 문자열 s가 주어진다. 문자열 s는 알파벳 소문자만 가지고 있다. 출력 분리된 집합의 개수를 출력하시오. 구름 정답 코드 n = int(input()) # 문자열의 길이 arr = input() # 문자열 cnt = 0 # 분리 횟수 f..
2주차 | 문제 1. 합격자 찾기 문제 구름이는 프로그래밍 수업의 조교이다. 프로그래밍 수업은 학생들의 성적 관리를 위해서 t번의 시험을 보고 있다. 구름이는 매 시험의 합격자를 관리하여 보고 해야 한다. 이때, 매 시험마다 응시하는 학생의 수와 성적이 다르다는 이유 때문에 절대적인 값으로 합격자를 가리는 것은 문제가 있다고 생각해서 새로운 방법으로 합격자를 가려내기로 한다.구름이는 매 시험 성적의 평균보다 이상인 사람을 합격자라고 하기로 한다. 그리고 시험마다 합격자의 수를 a, 응시자의 수를 b라고 한다면 a/b 형태로 나타내기로 한다. 구름이를 도와 프로그래밍 수업의 시험 결과를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험의 개수 t(1≤t≤10)이 주어진다.각 시험 정보는 2줄로 이루어져..
1주차 | 문제 4. 소수 찾기 문제 정수로 이루어진 수열 A에 있는 수들을 합한 값을 구하기로 한다. 하지만 평범한 합하기는 너무 쉽게 구해지기 때문에, 새로운 조건을 추가하여 값을 추출하고, 추출된 모든 값을 합하기로 한다. 새로운 조건은 아래와 같다. 수열 A의 i번째 수를 A_i라고 부른다. i가 소수인 A_i를 추출한다. 조건에 따라서 추출된 값들을 모두 합하고, 그 값을 출력하시오. 입력 첫 번째 줄에 수열 A의 길이를 나타내는 양의 정수 n(1≤n≤100,000)이 주어진다. 두 번째 줄에 수열 A의 각 원소의 값 A_i(-100≤A_i≤100)가 공백으로 구분되어 총 n개가 주어진다. i 번째 수는 A_i의 값이고, 정수이다. 출력 i가 소수인 A_i값들을 합한 값을 출력한다. 풀이 imp..
dduniverse
'Algorithm' 태그의 글 목록 (3 Page)