포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 쉽다. 풀다가 어렵다고 생각했다. import sys as s memory = 0 n = int(s.stdin.readline()) a = list(map(int,s.stdin.readline().split())) b = list(map(int,s.stdin.readline().split())) c = [0]*(len(a)) d = b.copy() a.sort() for i in range(len(b)): val = b.index(max(b)) c[val] = a[i] b[val] = 0 for i in range(len(a)): memory += c[i] * d[i] print(memory) 코드가 정말 쓸데없이 ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 원래 오늘 11번가 코딩테스트가 있었다. 입사하려고 지원한 건 아니고, 그냥 지원만 하면 코딩테스트를 볼 수 있다길래 지원했다. 코딩테스트 시간이 다가오니, 알아둬야 할 점이 있나 유튜브에 검색했다. 첫 번째 영상을 시청했다. 두 가지를 배웠다. 1. 문제 읽자마자 코드 작성하지 말고, 머릿속에 정리한 후에 타이핑해라. 2. 다 풀었다고 일어나지 마라, 반례를 찾아라였다. 나는 1번 항목을 무시했었다. 그래서 이번 문제를 풀 때는, 문제 다 읽고 이해가 끝났을 때 코딩을 시작했다. 뭔가 머릿속에 정리가 된 걸 타이핑하는 느낌이랑, 그냥 일단 간단한 입력이라도 구현해놓는 거와 차이를 느꼈다. 내가 나아갈 방향성에 더 ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. dfs와 bfs문제이다. 이 문제를 풀며 그래프에 조금 약하다는 생각이 들었다. 따라서 백준 쉬운 100 문제를 다 풀고 난 후, 그래프와 dp 문제 항목을 풀어야겠다고 느꼈다. 코드 import sys as s from collections import deque a = int(s.stdin.readline()) n = int(s.stdin.readline()) array = [[] for _ in range(a+1)] visited = [0] * (a+1) for _ in range(n): b, c = map(int,s.stdin.readline().split()) array[b].append(c) array[c..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자 쉬운 계단 수? 어렵다. n이 1, 2 일 때 9, 17 이길래 단순 dp문제인 줄 알았다. 그러다가 풀수록 뭔가 이상함을 느꼈다. 끝자리가 0과 9일 때 변수가 생겨 해당 부분을 따로 계산해야 했다. 그냥 내 접근 방식 자체가 틀렸다. 처음엔 만든 코드다. a = int(input()) dp = [9,17] * (50+1) for j in range(2,a): if j % 2 == 0 : dp[j] = dp[j-1]*2 else : dp[j] = (dp[j-1]-1)*2 + 1 print(dp[a-1]%1000000000) 너무 안일하게 생각했던 탓이다. 아직까지 이 문제를 완벽하게 이해하지 못했다. 정답 코드 먼저..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 보자마자 이전에 풀었던 문제가 생각남과 동시에 bfs가 떠올랐다. 추후 알게 되었지만 dfs로도 풀 수 있다. 코드 from collections import deque queue = deque() num = 0 dx, dy = [1,-1,0,0], [0,0,-1,1] a = int(input()) array= [] memory = [] result =[] count =0 for i in range(a): array.append(list(map(int,input()))) for x in range(a): for y in range(a): if array[x][y] == 1: memory.append((x,y)) de..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 이 문제는 좀 허무하다. 처음에 sort() 함수 써서 정렬하고 출력했는데 답이 아니었다. 그래서 직접 시간복잡도가 적은 정렬 알고리즘을 작성해서 사용하는 건 줄 알았다. 물론 그렇게 해도된다. 근데 결정적인 건 input()이 아니라 sys.stdin.readline()을 사용해 시간을 감소시키는 것이다. 코드 import sys as s a = int(s.stdin.readline()) array= [int(s.stdin.readline()) for _ in range(a)] array.sort() for i in array: print(i) 배운 점 1. input()은 입력받은 값의 개행문자를 삭제해서 리턴하..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 문제가 길다. 이 문제를 보고 전에 풀었던 미로 문제와 유사하다고 느꼈다. 하지만 문제가 있다. 토마토가 두 개가 존재하는 경우인데, 이 경우 때문에 bfs로 안 풀릴 거라 생각했었다. 결과적으로 bfs문제이다. 코드 from collections import deque n, m = map(int,input().split()) array = [] max_val = 0 queue= deque() for i in range(m): array.append(list(map(int,input().split()))) # print(array[i],end='\n') # 처음입력된 배열 if 1 in array[i]: queue...
- Total
- Today
- Yesterday
- 김영한 실전 자바 기본
- webhacking.kr
- 코딩테스트
- 상품을 구매한 회원 비율 구하기 파이썬
- 코딩테스트 준비
- 백준 피보나치 수열
- 백준
- 자바
- 프로그래머스
- zixem
- los 15
- samron
- 기술스택
- los 15단계
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 스프링
- 김영한
- 백준 피보나치
- samron3
- java
- lord of sql
- spring
- ys.k
- 상속
- 김영한 실전 자바 기초
- extends
- Los
- static
- 김영한 실전 자바 중급
- 프로그래머스 상품을 구매한 회원 비율 구하기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |