Study/알고리즘
-
[백준] 2908번_상수Study/알고리즘 2020. 2. 6. 03:02
문제 링크 : https://www.acmicpc.net/problem/2908 2908번: 상수 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734과 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 www.acmicpc.net a,b = map(str,input().split()) a = a[::-1] b = b[::-1] print(max(int(a..
-
[백준] 1152번_단어의개수Study/알고리즘 2020. 2. 6. 02:52
문제 링크 : https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net string = list(input().rstrip().lstrip().split()) print(len(string)) 라고 풀고 생각해보니 어차피 공백을 기준으로 list에 들어가기에 rstrip(), lstrip()을 해 줄 필요가 없었다.
-
[백준] 1157번_단어공부Study/알고리즘 2020. 2. 6. 02:46
문제 링크 : https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net from collections import defaultdict word = input().upper() d = defaultdict(lambda : 0) for w in word: d[w] += 1 max_value = max(d.values()) pKey = [] for key,value in d.items(): if value == max_value: pKey.append(key) if len(pKey)==1:..
-
[백준] 4673번_셀프넘버Study/알고리즘 2020. 2. 6. 01:59
문제 링크 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 www.acmicpc.net arr = [i for i in range(1,10001)] for i in range(1,10001): str_i = st..
-
[백준] 1592번_영식이와친구들Study/알고리즘 2020. 2. 4. 21:53
문제 링크 : https://www.acmicpc.net/problem/1592 1592번: 영식이와 친구들 일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다. 4번은 1번에게 던진다. 1번은 이제 공을 두 번 잡았기 때문에, 공을 4번에게 던진다. 4번은 2번에게 던지고, 2번은 5번에게 던지고, 5번은 3번에게 던지고, 마지막으로 3번은 1번에게 던진다. 1번은 이제 공을 세 번 잡았기 때문에, 게임은 끝난다. www.acmicpc.net n,m,l = map(int,input().split()) people = {} for i in range(1,n+1): ..
-
[백준] 1952번_달팽이2Study/알고리즘 2020. 2. 4. 15:00
문제 링크 : https://www.acmicpc.net/problem/1952 1952번: 달팽이2 M줄 N칸으로 되어 있는 표 위에, 달팽이 모양으로 선을 그리려고 한다. 위의 그림은 M=5, N=3의 예이다. 이제 표의 왼쪽 위 칸(ㅇ)에서 시작하여, 오른쪽으로 선을 그려 나간다. 표의 바깥 또는 이미 그려진 칸에 닿아서 더 이상 이동할 수 없게 되면, 시계방향으로 선을 꺾어서 그려나간다. ㅇ → ↘ ↗ ↘ ↓ ↑ ↓ ↓ ↑ 끝 ↓ ↖ ← ↙ 위의 표는 선을 그려 나간 모양을 나타낸 것이다. (선이 꺾어진 부분은 대각선으로 나타내었다. 표의 모든 칸 www.acmicpc.net m, n = map(int,input().split()) grid = [[0 for _ in range(n)] for _ ..
-
[백준] 1551번_수열의변화Study/알고리즘 2020. 2. 2. 20:54
문제 링크 : https://www.acmicpc.net/problem/1551 1551번: 수열의 변화 첫째 줄에 수열의 크기 N과 K가 주어진다. N은 20보다 작거나 같은 자연수이고, K는 0보다 크거나 같고, N-1보다 작거나 같은 자연수이다. 둘째 줄에는 수열이 ‘,’로 구분되어 주어진다. www.acmicpc.net from copy import deepcopy n, k = map(int,input().split()) arr = list(map(int,input().split(','))) while k: tmp = [] for i in range(1,len(arr)): tmp.append(arr[i]-arr[i-1]) arr = deepcopy(tmp) k-=1 print(','.join(ma..
-
[SW Expert] 5789번_현주의상자바꾸기Study/알고리즘 2020. 1. 30. 12:58
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWYygN36Qn8DFAVm&categoryId=AWYygN36Qn8DFAVm&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com for idx in range(int(input())): n,q = map(int,input().split()) # 박스들 초기화 boxes = [] for n_ in range(n): boxes.append([n_+1,0]) # 번호 바꾸기 for i in range(q): l,r = map(int,i..