Koala - 15기/기초 알고리즘 스터디

https://www.acmicpc.net/problem/3059풀이알파벳을 나열한 리스트를 생성n만큼 반복하여 set화 하여 문자열을 입력받음리스트화 후 전체 알파벳의 아스키코드 합인 2015에서 해당 문자열에 해당하는 알파벳의 아스키코드만큼 뺀코드
https://www.acmicpc.net/problem/5218문제풀이t = int(input())for i in range(t): a, b = input().split() ans = [] for j in range(len(a)): x = ord(a[j]) - 64 y = ord(b[j]) - 64 if y >= x: z = y - x else: z = y + 26 - x ans.append(z) print('Distances: {}'.format(' '.join(map(str, ans))))입력으로 테스트 케이스의 수를 입력 받는다. 두 개의 문자열을 입력 받는다.대응되는 문자들의 거리를 계산해서 리스트에 저장한다.
문제 풀이1. 나열한 내용을 내림차순으로 정렬한다.2. 앞에서부터 n개의 말은 참이다.라는 주장이 n개 있다면 그 것이 참이므로 n을 출력할 수 있다.3. 0개에서 내용이 모순될 수 있음에 주의하며 코드를 작성한다.코드
https://www.acmicpc.net/problem/1159문제 접근1. 총 선수 인원 수 입력 받기2. 총 인원 수만큼 반복하며 딕셔너리 자료구조에 key(이름의 앞글자) value(인원 수)로 저장3. 모든 인원이 저장된 딕셔너리에서 value가 5 이상인 이름(성)들을 리스트 자료구조에 저장4. 리스트 내의 이름(성) 알파벳 순으로 정렬하기5. 상황에 맞는 출력문 출력 문제 코드n = int(input())count = {}starting = []for _ in range(n): a = input() if a[0] not in count.keys(): count[a[0]] = 1 else: count[a[0]] += 1 for key, va..
https://www.acmicpc.net/problem/10823 문제 풀이sys 모듈을 호출합니다.총합을 담을 변수를 tot와 문자열 S를 초기화합니다.while 문으로 EOFError가 발생할 때까지 문자열 S에 입력을 받습니다.이 때 입력받은 S는 ',' 기준으로 구분합니다.','을 제외한 요소를 정수화하여 tot에 더하여 저장합니다.  총합 tot를 출력합니다.1) parse: 문제코드import systot=0S=""while True: try: S+=input() except EOFError: breakS=S.split(',')for i in S: tot+=int(i)print(tot)단, 해당 코드는 IDE 상에선 CTRL + D로 강제종료 해야지만..
https://www.acmicpc.net/problem/1673문제풀이import sysfor line in sys.stdin: n,k = map(int,line.split()) ans = n while True: if n//k > 0: ans += n//k n = n%k + n//k else: break print(ans)sys 모듈을 이용해 파일 단위 입력으로 한 번에 읽어온 후 그 안에서만 반복하며 EOF를 처리한다.sys.stdin으로 읽어온 입력을 line으로 나누어 한 줄씩 접근한다.line을 map으로 변수 2개에 정수로 나눠준다.쿠폰으로 치킨을 한 마리 시킬 때마다 도장을 1개 받음을..
문제 & 링크https://www.acmicpc.net/problem/11880 풀이!! 범위를 고려하여 long long int 자료형을 사용하여야 함!!1.  개미가 이동한 최단 거리는 (세로 + 높이)와 가로를 두 변으로 하는 빗변이기에 가로의 길이가 제일 길어야 한다. * 세로 or 높이가 가장 길 경우 개미가 이동한 경로는 최단 거리가 아니게 되므로 모순이 된다.2. algorithm 헤더 파일의 max 함수를 이용하여 세 값 중 가장 큰 값(가로)을 저장한다.3. if 문을 사용하여 가장 큰 값(가로)이 아닌 두 값(세로, 높이)의 합을 저장한다.4. 2와 3을 이용하여 거리의 제곱을 출력한다. 이슈알고리즘에 문제가 없는데도 시간 초과가 지속적으로 발생했다. 해결코딩테스트에 한정하여 프로그램의..
문제 & 링크https://www.acmicpc.net/problem/8979 풀이1. vector 자료구조를 사용하여 입력받을 각 나라별 금, 은, 동메달의 개수를 저장한다.2. 등수를 알고 싶은 국가와 국가 번호가 같을 때 해당 인덱스를 저장한다.3. for문을 이용하여 등수를 알고 싶은 국가와 그 외 다른 모든 국가를 비교하며 rank 변수를 조정한다.* 자기 자신보다 등수가 높은 국가가 몇 개인지 알면 되기에, 금 -> 은 -> 동 순서로 메달을 비교하며 순위를 떨어뜨린다(변수 값은 상승). 코드#include #include using namespace std;int main() { int N, K; cin >> N >> K; vector G; vector S..
https://www.acmicpc.net/problem/2947문제문제풀이우선 입력받은 숫자들을 리스트에 저장한다. 만약 리스트에 원소들이 [1, 2, 3, 4, 5]가 아닐 경우에는 계속해서 while반복문을 실행하면서 리스트에 원소들이 [1, 2, 3, 4, 5]가 되도록 한다. for반복문을 통해 i번째 원소의 숫자와 i+1번째 원소의 숫자를 비교해서 만약 i번째 원소의 숫자가 크다면 i+1번째 원소의 숫자와 교환한다. 그리고 변경된 리스트를 출력한다.소스코드nList = list(map(int, input().split()))while ' '.join(map(str, nList)) != "1 2 3 4 5": for i in range(len(nList)-1): if nList..
https://www.acmicpc.net/problem/1551코드 설명두번째 줄의 입력이 특이하게, “,”으로 구분되므로, .split() 함수의 인자로 대입.i+1번째의 값이 현재 수열의 마지막 값이 되어야 하므로, 다음 수열의 마지막 index는 size - 1이다.그러나, 진행한 횟수만큼 수열의 크기가 줄어들어서, 다음 반복 시에 차감해야 한다. 그러므로, 마지막 값을 size - 1 - step을 통해 접근한다.리스트 컴프리헨션을 통해 만들어진 다음 수열을 현재 수열을 저장하고 있던 변수에 다시 대입하여, 원하는 횟수만큼 재귀적으로 반복할 수 있도록 한다.출력 형식을 맞춰주기 위해, .join() 함수를 이용한다.코드 내용size, steps = map(int, input().split()) ..
문제다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)입력첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.출력첫째 줄에 필요한 세트의 개수를 출력한다.풀이 했던 방법1. arr 은 0부터 9까지의 숫자 등장 횟수를 입력 받게 하고2. for문을 돌리는 동안 6과 9가 뒤집어서 사용할 수 있기 때문에, if문을 돌려서 6이랑 9가 나오는 횟수 중..
https://www.acmicpc.net/problem/14425알고리즘 분류자료 구조, 문자열, 해시를 사용한 집합과 맵, 트리를 사용한 집합과 맵문제총 N개의 문자열로 이루어진 집합 S가 주어진다.입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.입력첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다.다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다.입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다.출력첫째 줄에 M개의 ..
KauKoala
'Koala - 15기/기초 알고리즘 스터디' 카테고리의 글 목록 (4 Page)