포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 베르트랑 공준이라는 게 뭔지 알아보자. n >= 2에 대하여, 두 자연수 n < a < 2n 사이에는 적어도 한 개 이상의 소수가 존재한다.라는 정수론이다. 우리가 풀어낼 문제는 그냥 소수의 개수를 알아내면 되는 문제다. 코드부터 보자. 코드 import sys as s array = [1 for i in range(246913)] array[:2] = 0, 0 for i in range(2, 498): if array[i]: for j in range(i*i, 246913,i): array[j] = 0 while n := int(s.stdin.readline()) : count = 0 for k in range(n..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 소수 찾는 문제다. 근데 시간제한과, 메모리 제한 덕에 에라토스테네스 체를 사용하여도 풀 수 없었다. 사실 에라토스테네스 체가 문제가 아니라 내가 문제였을 거다. 어쨌든 코드먼저 보자. 코드 import sys as s n = int(s.stdin.readline()) for i in range(n): a = int(s.stdin.readline()) while True: if a
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 솔직히 생각했던 거보다, 시간도 오래 걸렸고 고전했던 문제다. 그 흔적이다. 코드부터 보자. 코드 import sys as s import math n = int(s.stdin.readline()) array = {} array1 = [] for i in range(n): a = int(s.stdin.readline()) if a in array: array[a] += 1 else: array[a] = 1 array1.append(a) array2 = sorted(array, key = lambda x:x) print(round(sum(array1)/n)) # 1번째 array1 = sorted(array1) pri..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 오늘은 전에 살던 동네 친구가 놀러 왔다. 밥을 먹고 카페에서 각자 할 일을 하기로 했다. 문제를 처음 보고, 정렬 순서를 어떻게 해야 하나 고민했지만, 큰 걱정거리가 되진 못하였다. 코드를 보자. 코드 import sys as s a, m = map(int,s.stdin.readline().split()) dict ={} for i in range(a): word = s.stdin.readline().strip() if len(word) >= m : if word in dict: dict[word] += 1 else: dict[word] = 1 dict = sorted(dict, key = lambda x :(-d..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 7/18 일 풀다가 시간초과를 4번받고 미뤄두었던 문제이다. 금일 외출 전에 생각이 나서 문제를 풀어봤다. 지금은 굉장히 쉽게 풀렸는데, 그 때는 왜 그랬는지 잘 모르겠다. 코드 import sys as s n = int(s.stdin.readline()) log ={} num = 0 for i in range(n): chat = s.stdin.readline().strip() if chat == 'ENTER': log = {} num += len(log) elif chat in log: continue else: log[chat] = chat num+= 1 print(num) 그냥 ENTER 값이 입력될 때 마다,..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 시간제한과 메모리 제한 입력값을 보았을 때, 정석적으로 반복문을 사용하여 푸는 문제는 절대로 아닐 것 같다고 생각했다. 솔직히 동적 계획법이 떠올랐지만, 해당 섹터가 아니라 그 풀이에 대해서는 보류했다. 이런 식으로 문제에 접근하는 건 좋지 않다. 근데 동적계획법으로 했어도 풀 수 있을지는 모르겠다. 보통 이런 문제는 패턴이 있더라. 1부터 단순반복하며 패턴을 찾았다. 입력값과 출력값 순서대로 나열해보겠다. ex) 1, 1 1, 1 2, 1 3, 1 4, 2 5, 2 6, 2 7, 2 8, 2 9, 3 10, 3 ... 출력값이 변하게 되는 부분이 1, 4, 9으로 1~의 제곱수마다 1씩 증가하는 것을 알 수 있다...
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 문제가 길어 필요한 부분만 가져왔다. 딱히 설명할 부분이 없다. 다만, 입력에는 2가지 경우가 있다. 1. 숫자 2. 문자 필자는, 2개의 해쉬테이블을 만들어 입력값의 형태에 따라 적절한 해쉬테이블에서 값을 조회하게끔 구현했다. 코드 import sys as s n,m = map(int,s.stdin.readline().split()) array, array2={},{} for i in range(1,n+1): name = s.stdin.readline().strip() array[name] = i array2[i] = name for j in range(m): name = s.stdin.readline().stri..
- Total
- Today
- Yesterday
- 프로그래머스 상품을 구매한 회원 비율 구하기
- zixem
- 코딩테스트 준비
- 상속
- Los
- 프로그래머스
- lord of sql
- 백준
- los 15
- 김영한 실전 자바 기본
- webhacking.kr
- static
- spring
- extends
- 기술스택
- los 15단계
- 백준 피보나치
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 백준 피보나치 수열
- ys.k
- samron3
- 자바
- 코딩테스트
- samron
- 스프링
- 김영한
- 상품을 구매한 회원 비율 구하기 파이썬
- 김영한 실전 자바 기초
- 김영한 실전 자바 중급
- 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 |