Adventure Time - Jake bogyoi's Dev note
본문 바로가기

전체 글96

[백준/python] 2751 수정렬하기2: arr.sort() 및 정렬 알고리즘 시간 복잡도 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 4 3 2 1 예제 출력 1 1 2 3 4 5 작성 코드: n=int(input()) arr=[] for _ in range(n): arr.append(int(input())) arr.sort() for i in range(len(arr)): print(arr[i]) 시간복잡도가 O(nlogn)인 정렬 알고리즘으로 풀.. 2023. 10. 27.
★[백준/python] 2839 설탕배달: 브루트포스 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net n=int(input()) cnt=n%5 while(1): if n%5==0: print(cnt) break n-=3 cnt+=1 if n 2023. 10. 27.
[백준/python] 1436 영화감독숌: 브루트포스 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net N번째 영화의 제목은 세상의 종말 (N번째로 작은 종말의 수) n=int(input()) i=666 count=1 while(1): if count==n: print(i) break i+=1 if '666' in str(i): count+=1 666부터 시작해서 1씩 더해가며 숫자를 돌거임. 666이 들어간 숫자가 나올때마다 count를 셀거임. 따라서 처음엔 i=666, count=1로 초기화.. 2023. 10. 27.
[백준/python] 25305 커트라인: sort, sorted 차이 n,k = map(int, input().split()) arr=list(map(int, input().split())) arr.sort(reverse=True) print(arr[k-1]) reverse=True: 내림차순 정렬 list.sort() 메서드는 list 객체 자체를 정렬해주는 함수이다. list.sort() 함수는 기본적으로 리스트를 오름차순으로 정렬해주는 기능 (함수와 메서드의 차이; 함수: 독립적으로 사용. 메서드는 객체 내 함수) +) 새로운 정렬된 리스트를 반환하는 함수는 sorted 함수이고, 리스트 자체를 정렬시켜버리는 것은 sort 함수. 그래서 sorted함수 사용할때는 반환 받는 변수가 있어야 함 2023. 10. 27.
★[백준/python] 1018 체스판 다시 칠하기: 브루트포스(전체탐색)/ https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net -> MxN크기의 보드가 있다. -> 이 보드를 잘라서 8x8 크기의 체스판으로 만드려고 한다. -> 체스판은 흰색과 검은색이 번갈아가며 칠해져야 한다. -> 보드판의 어느부분을 8x8 크기로 잘라낸 후, 고쳐야하는 정사각형을 다시 칠할거다. ->고쳐야 하는 정사각형의 최소 개수를 구해라. 여태까지 풀어본 백준 문제 중에 가장 까다로웠다.. ㅜㅜ https://god-gil.tistory... 2023. 10. 27.
[백준/python] 19532 수학은비대면강의입니다: 가감법, for-loop, 왜 틀린거지 a,b,c,d,e,f=map(int,input().split()) y=int((d/a*c-f)/(d/a*b-e)) x=int((c-b*y)/a) print(x,y) 첫번째 식의 양변에 d/a를 곱하면 d*x+d/a*b*y=d/a*c d*x+e*y=f ----------------------빼기 d/a*b*y-e*y=d/a*c-f, (d/a*b-e)*y=d/a*c-f, -> y=(d/a*c-f)/(d/a*b-e) 이런식으로 진짜 연립방정식 풀듯이 풀었음 실행해보니 맞게 나오길래 제출했는데 백준에서는 틀렸다그러네 왜지? 열받네 (x, y)값이 여러개 나올 수 있으니 그런건가 생각도 해봤는데 음 왜일까 왜일까요 . . .. 좀 더 생각해봐야겠음. 근데 난 이렇게 말고 진짜 미지수를 직접 찾을 수 있는 그런 방.. 2023. 10. 26.