본문 바로가기

분류 전체보기158

6990원 손해본 이야기...(feat. aws 결제) 사지방에서 문제풀고있는데 갑자기 결제가 완료되었다는 문자가 왔다. ㅠㅠ Amazon_AWS 이전에 개발환경 구축하려고 만들었던 aws계정이 프리티어 기간이 끝나고 2번이나 결제가 된것이었다. 이제는 사용안하기 때문에 얼른 취소했다.. 내 아까운 7000원 ㅠㅠ 다음은 결제계정 취소 방법이다 계정에 로그인 한 뒤 오른쪽 위 계정이름을 누르면 내 계정으로 갈 수 있다. 내 계정에 들어가 스크롤 맨 밑으로 가게 되면 계정 해지라는 항목이 있는데, 체크박스를 확인 후 계정 해지를 하면 된다. 성공! 내 아까운 돈ㅠㅠ 이제 돈 나가는 곳 꼼꼼히 확인하는 습관을 길러야겠다. 2021. 7. 3.
20210703#(57) 백준 11727번 2 X n 타일링 2 (다이나믹 프로그래밍) https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net n=int(input()) if n==1: print(1) else: dp=[0 for _ in range(n+1)] dp[1]=1;dp[2]=3 for i in range(3,n+1): if i%2==1: #홀수 dp[i]=((dp[i-2]*4)+1)%10007 else: #짝수 dp[i]=((dp[i-2]*4)-1)%10007 print(dp[n]) n이 1일때 for 문에서 index out of range가 뜬다는 사실.. 2021. 7. 3.
20210702#(56) 백준 1149번 RGB거리 (다이나믹 프로그래밍) https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net home=[] N=int(input()) for i in range(N): home.append(list(map(int,input().split()))) for i in range(1,N): home[i][0]=min(home[i-1][1],home[i-1][2])+home[i][0] home[i][1]=min(home[i-1][0],home[i-1][2])+home[i][1.. 2021. 7. 2.
20210702#(55) 프로그래머스 가장 큰 수 (정렬) https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 풀다가 답이 안나와서 구글링을 통해 제출했다... def solution(numbers): numbers=list(map(str,numbers)) numbers.sort(key=lambda x:x*3,reverse=True) return str(int(''.join(numbers))) 1. list.. 2021. 7. 2.
20210702#(54) 백준 2309 일곱 난쟁이 (브루트포스) https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net dwarf=[] for _ in range(9): dwarf.append(int(input())) dwarf_tall=sum(dwarf) breaker=False for i in range(8): for j in range(i+1,9): if (dwarf_tall-(dwarf[i]+dwarf[j]))==100: del dwarf[i];del dwarf[j-1] # list앞에서 하나가 빠졌기 때문에 j에서.. 2021. 7. 2.
20210701#(53) 백준 2231 분해합 (브루트포스) https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net answer=0 def sol(n): for i in range(1,n+1): num_list=list(map(int,str(i))) #str함수를 이용해 각 자리 숫자를 num_list에 넣기 (ex 361 ->[3,6,1]) answer=i+sum(num_list) #분해합 공식 if answer==n: return i break if i==n: return 0 #.. 2021. 7. 1.
20210701#(52) 백준 2798 블랙잭 (브루트포스) https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net n,m=map(int,input().split()) card=list(map(int,input().split())) scoresum=0 for i in range(n): for j in range(i+1, n): for k in range(j+1, n): if card[i]+card[j]+card[k] > m: continue else: scoresum=max(sc.. 2021. 7. 1.
20210630#(51) 프로그래머스 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 처음 문제 풀때는 시간 효율성을 생각하지 않고 풀었다. 사실 시간효율성문제가 생길지도 몰랐다. def solution(participant, completion): for i in completion: participant.remove(i) answer="".join(participant) return answer 테스트 케이스는 전부 맞았지.. 2021. 6. 30.
20210630#(50) 프로그래머스 k번째수 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] for i in commands: newarr = array[i[0] - 1:i[1]] newarr.sort() sorted(newarr) answer.append(newarr[i[2] - 1]) return answer 2021. 6. 30.