목록전체 글 (296)
홍우진의 개발 일기장
문제 링크https://www.acmicpc.net/problem/5671풀이 코드import sysinput = sys.stdin.readlinewhile 1: ho = input() if not ho: break n, m = ho.split() cnt = 0 for i in range(int(n), int(m) + 1): if len(set(str(i))) == len(str(i)): cnt += 1 print(cnt)코드 해석str로 변환 한 후 set을 써서 글자의 중복을 제거한다.그 후 숫자의 길이와 비교하여 같을 경우에 카운팅을 한다. 체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/1076풀이 코드sek = ['black', 'brown', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'grey', 'white']a = str(sek.index(input()))b = str(sek.index(input()))c = str(10**sek.index(input()))print(int(a+b+c[1:]))코드 해석색 배열을 미리 만들어놓고그 배열의 인덱스 번호를 이용하여 계산한다. 체감 난이도: ☆☆☆☆☆
문제 링크https://www.acmicpc.net/problem/2622 풀이 코드n = int(input())cnt = 0for i in range(1, n + 1): for j in range(i, n + 1): k = n - i - j if k k: break cnt += 1print(cnt)코드 해석대한민국 국제 삼각형 만들기법제 333조 333항에 따르면,"삼각형의 가장 긴 변의 길이는 나머지 두 변의 길이의 합 보다 길면 되지 아니한다."라는 법이 존재한다. 따라서 해당 법에 따라 처리하였다.체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/17269풀이 코드al = {'A':3,'B':2,'C':1,'D':2,'E':4,'F':3,'G':1,'H':3,'I':1,'J':1,'K':3,'L':1,'M':3,'N':2,'O':1,'P':2,'Q':2,'R':2,'S':1,'T':2,'U':1,'V':1,'W':1,'X':2,'Y':2,'Z':1}n, m = map(int,input().split())a, b = input().split()new = []for i in range(min(n,m)): #['L', 'M', 'E', 'I', 'E', 'Y', 'S', 'A', 'I', 'W', 'Y', 'A', 'U', 'K', 'N', 'I'] new += a[i] + b..
문제 링크https://www.acmicpc.net/problem/1356풀이 코드n = input()dap = "NO"for i in range(1, len(n)): front = back = 1 for j in n[:i]: front *= int(j) for j in n[i:]: back *= int(j) if front == back: dap = "YES" breakprint(dap)코드 해석브루트포스와 구현을 사용하여 풀었다. 체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/11557 풀이 코드t = int(input())for _ in range(t): n = int(input()) hak = [] for _ in range(n): s, l = map(str, input().split()) hak.append([s,int(l)]) print(sorted(hak, key = lambda x: x[1])[-1][0])t = int(input())코드 해석받은 이름과 양을 리스트에 저장하고정렬한 뒤 가장 높은 학교의 이름을 출력한다. 꾸준히 하고는 있지만 점점 쉬운 문제만 찾아 풀고 있어서 걱정이다...체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/3135풀이 코드a, b = map(int,input().split())bookmark = [int(input()) for _ in range(int(input()))]cnt = abs(a - b)for i in bookmark: su = abs(i - b) + 1 cnt = min(cnt, su)print(cnt)코드 해석abs를 이용한다.뺏을 때 값의 차이를 비교한다. 체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/11478 풀이 코드s = input()tot = []for i in range(len(s)): for j in range(i, len(s)): tot.append(s[i:j+1])print(len(set(tot)))코드 해석문자열을 모두 받은 후set 자료형을 이용하여 중복을 지우고 길이를 출력한다. 체감 난이도: ★☆☆☆☆