본문 바로가기

다시다시6

[백준] 10610번 30(with python) https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 1. 내가 작성한 코드 from itertools import permutations import sys n = sys.stdin.readline() #처음에 주어지는 수 arr = [] for j in permutations(n,len(n)): #순열로 모든 수 append j = list(j) #순열은 튜플 형식이기 때문에 list로 바꿔주기 k = 1 while k>0: result = 0 f.. 2023. 1. 27.
[백준] 2839번 설탕 배달(with python) https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 1. 정답 코드 n = int(input()) cnt = 0 while n >= 0: if n % 5 == 0: #5로 나누어 떨어질경우 cnt += (n//5) print(cnt) break n -= 3 #5로 나누어 떨어지지 않으면 3을 반복해서 빼준다 cnt += 1 else: #5와 3 둘 다 나누어 떨어지지 않을 경우 -1 출력 print(-1) 한 시간 정도 고민을 하다가 도저히,, 안되겠어서,,.. 2023. 1. 27.
[백준] 1920번 수 찾기(with python) https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) arr = set(map(int,input().split())) m = int(input()) arr1 = list(map(int, input().split())) for i in arr1: if i in arr: print(1) else: print(0) 처음에 arr를 list가 아닌 set으.. 2023. 1. 26.
[백준] 4673번 셀프 넘버(with python) https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 일단 문제를 읽으면서 셀프 넘버에 대해 약 57퍼정도 이해를 못 했고, 당연히 혼자서 문제를 해결하지도 못했다. 코드만 봐도 이해가 잘 안돼서 ㅜㅜ 설명이 잘 적혀있는 블로그를 열심히 찾았음 😎 참고 링크 1: https://velog.io/@dbrudskql823/%EB%B0%B1%EC%A4%80-4673-%EC%85%80%ED%94%84%EB%.. 2023. 1. 19.
[백준] 1110번 더하기 사이클(with python) https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 1. 내가 작성한 코드 (틀림, 수정 필요) c = 0 sum = '0' new = input() #while new != str(sum): if int(new) < 10: new = '0' + new c = c+1 print(new, sum) else: sum = int(new[0])+int(new[1]) new = new[1] + str(sum[-1]) c = c+1 print(.. 2023. 1. 17.
[백준] 10989번 수 정렬하기3(with python) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 내가 작성한 코드 N = int(input()) arr = [int(input()) for _ in range(N)] arr.sort() for i in range(N): print(arr[i]) 전 문제와 상당히 흡사해서 '이정도는 쉽지'라고 생각하며 풀었는데, 메모리 초과로 틀렸다 😥 2. 틀린 이유 내가 작성한 코드처럼 새로운 리스트를 정의해서 하나씩 입력값을 삽입하면 메모리 재할당이 이루어진다. 본 문제.. 2023. 1. 13.