본문 바로가기

BOJ23

[Programmers][Python] 소수 찾기 1. 시간 초과 n 이하의 소수 개수를 찾는 문제이다. n이 1000000 이하의 자연수라 처음 한 방법은 시간초과가 났다. list를 계속 만들어서 그런가? def solution(n): prime = list(range(2, n + 1)) for i in range(2, n + 1): if i in prime: prime = list(filter(lambda x : x % i != 0 or x == i, prime)) return len(prime) # 시간 초과 2. 정답 bool list를 만들고 에라토스테네스의 체를 이용하여 풀었다. prime의 i번째 원소가 수 i이고, prime[i]가 true이면 i는 소수이다. 만약 i가 소수라면 j = 2 * i, 3 * i, 4* i ..... 2023. 12. 29.
[BOJ] [JAVA] 11650번 좌표 정렬하기 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 이상하게 풀었다가 시간 초과나서 못풀고 있었다. 답 찾아보다가 람다식이라는 걸 쓴다는 걸 알았는데 공부할 시간이 없어서 놓고 있다가 이제야 다시 했다! 실은 파이썬 공부하다가 람다가 나왔는데 파이썬으로 람다를 보니깐 이해가 살짝 되는 것 같았다! 그러고 갑자기 문제가 생각나서 자바로 풀어봤다! 대에충 이해한 거는 Arrays.sort에 arr를 넣고 그 다음 인자에 함수를 넣어서 변형(?)할 수 있다. 때문에 .. 2023. 12. 28.
[BOJ] [JAVA] 1038번 감소하는 수 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 1. 문제 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 2. 생각 자연수 n이 감소하는 수라면 n % 10 > i >= 0인 i에 대해서 n *.. 2023. 12. 20.