포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 처음에 문제를 이해하는데 오래 걸렸다. 무언가 풀리지 않을 때는, 마음이 급한 탓이다. 다시 차근차근 문제를 읽었고, 이해했다. 이 문제는 dp 문제이다. 어디선가 알고리즘, 코딩 테스트와 관련된 이야기를 읽다가 배운 게 있다. 알고리즘 문제를 풀 때는, 보통 30분에 1문제를 풀어야 한다고. 그래서 30분 제한을 두고 문제를 풀었지만 풀지 못했다. 그래서 검색해서 문제를 해결했다. 기본적인 문제에 접근은 같았지만, 코드 구현에서 나의 코드가 훨씬 복잡했다. 항상 코드를 구현하기 전 최적 방안에 대해 고민하는 시간을 가져야겠다. 코드 a = int(input()) dp = [] for i in range(a): dp..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 솔직히 문제 푸는데 어렵지 않았다. 하지만 정말 이렇게 푸는 방법밖에 없나 라는 생각이 계속 들었다. 코드를 보자 array = list(map(int,input().split())) if array[0] == 1: for i in range(0,8): if array[i] != i+1: print('mixed') break else: print('ascending') else : for i in range(0,8): if array[i] + i != 8 : print('mixed') break else: print('descending') 그냥.. 뭔가 알고리즘이 아니라 손으로 만든 것 같은 느낌이다. 그게 맞긴한..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자 소수 문제이다. 처음으로 소수 문제를 풀어본다. 난관은 있었지만, 금방 풀어낼 수 있었다. 코드 a = int(input()) array = list(map(int,input().split())) result = [] for i in array: if int(i) >1: for j in range(2,int(i)): if int(i) % j == 0: break else: result.append(i) print(len(result)) 원래는 count 변수를 주고 조건에 만족할 때마다 1씩 증가시켜서 풀려했다. 하지만 풀다보니 위 풀이가 더 깔끔하게 풀려서 방식을 바꿨다.
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자 처음에 문제를 읽었을 때는, 이해를 못 했다. 두 번째 읽었을 때 이해되었다. 간단하게 정리하면, 159를 1 5 9로 나누어서 보고 등차수열을 만족하는 개수를 출력하는 문제이다. 굉장히 아쉬움이 남는 문제이다. 나는 문제를 어떻게 풀지 완벽하게 생각해서 맞췄다. 하지만, 구현하다가 잔 오류가 나서 정답이 아니라 생각했다. 그래서 시간을 최대한 절약하고자 구글에 검색했고, 정말 무서울 정도로 똑같은 코드를 보았다. 코드 a = input() count = 0 if int(a) = 100: for i in range(100, int(a)+1): array = list(map(int,str(i))) if(int(array..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 문제가 길다. 그래도 문제를 읽고 풀이를 생각하며, 내가 발전했구나 생각은 들었다. 바로 DP생각이 났기 때문이다. 재미를 느꼈다. 공부를 하거나, 운동을 하거나 등등 무언가를 성취하기 위해서 겪어야 하는 과정은 항상 힘들다. 내가 노력하고 투자한 시간의 결과가 즉각적으로 보이지 않기 때문이다. 그래서 이 순간이 소중하다. 적지만 DP 문제들을 접하며 나는 3가지로 프로세스를 분리했다. 1. DP로 풀 수 있는 문제인지 확인 2. 어떠한 패턴을 가지는지 확인 3. 코드 구현 나와 다른 모든 사람들이 2번에서 가장 힘들어할 것이라 생각한다. 착각일 수 있지만, 적어도 나는 그렇다. 코드 a = int(input()) ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 알고리즘에서는 복잡도를 판단하는 2개의 지표가 있다. 첫번째는 시간, 두번째는 공간 복잡도이다. 여기서 의미하는 시간과 공간이란 알고리즘이 동작하는 시간, 알고리즘이 돌며 사용되는 메모리의 크기이다. 이 두개의 복잡도를 고려하여 가장 효율적인 프로그램, 혹은 문제에서 요구하는 조건에 맞게끔 설계하는 것이 알고리즘 문제의 핵심이다. 먼저 시간복잡도에 대해 알아보자. 알고리즘에서의 시간복잡도는 Big-O 표기법을 통해 계산한다. Big-O 표기법이란? 알고리즘이 돌아가는데 필요한 가장 큰 차수로만 나타낸다. 특징 1. 상수항은 버린다. O(n+5) -> O(n) 2. 계수 또한 버린다. O(2n) -> O(n) 3. 최고 차항만을 표..
- Total
- Today
- Yesterday
- los 15
- 김영한
- 김영한 실전 자바 기초
- 상속
- samron
- samron3
- spring
- extends
- static
- webhacking.kr
- zixem
- 코딩테스트
- 백준 피보나치 수열
- lord of sql
- ys.k
- los 15단계
- 백준
- 프로그래머스
- 김영한 실전 자바 기본
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 백준 피보나치
- 스프링
- 코딩테스트 준비
- Los
- 김영한 실전 자바 중급
- java
- 자바
- 상품을 구매한 회원 비율 구하기 파이썬
- 기술스택
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |