분류 전체보기
-
[Python] BOJ 1436 영화감독 숌코딩테스트/백준 2024. 9. 22. 19:31
https://www.acmicpc.net/problem/1436문제 정보는 위에서 확인할 수 있다. 요구사항N 번째 종말의 수를 찾아라.설계 665 전까지는 종말의 수를 만족하지 못하므로 666부터 시작한다. 1 번째 종말의 수 부터 1씩 늘려 2번째 종말의 수를 찾는다. 666을 찾았을 때, count 를 해준다. N 번째 영화의 제목에 들어간 수를 출력한다.코드 답안 예시N = int(input())# ~665 전까지는 의미가 없으므로 666부터 시작한다.num_of_end = 666count = 0while count != N: # num_of_end 에 666이 존재할 때, count에 1을 증가시킨다. if '666' in str(num_of_end): count += 1 # coun..
-
[크래프톤 정글] TIL 18일차-그리디크래프톤정글 2024. 9. 19. 20:29
그리디 💡현재 상황에서 지금 당장 좋은 것만 고르는 방법최단 경로, 다익스트라 알고리즘은 암기가 필요한 부분이다.기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 ‘가장 큰 순서대로’, ‘가장 작은 순서대로’ 같은 기준을 알게 모르게 제시해준다.예제 3-1 거스름돈# 거슬러 줘야 할 돈 N원N = int(input())# 거스름돈 종류의 타입coin_types = [500, 100, 50, 10]result = 0for coin in coin_types: result += N // coin N %= coinprint(result)가장 큰 화폐 단위부터 돈을 거슬러 주는 것.화폐의 종류가 K개 라고 할 때 위 소스코드의 시간복잡도는 O(K)즉, 동전의 총 종류에만 영향, 거슬러 줘야 하..
-
[Python] BOJ 1260 : BFS와 DFS코딩테스트/백준 2024. 9. 19. 17:26
https://www.acmicpc.net/problem/1260 요구사항 분석BFS는 큐로 DFS는 스택으로 구현하라고 하던 데... 내 생각 과정을 보여주겠다.N,M,V = map(int,input().split())graph= [[],]for i in range(M): graph.append(list(map(int,input().split())))visited = [False] * (N+1)def dfs(v): # 현재 노드를 방문 처리 visited[v] = True print(v, end = ' ') for i in graph[v]: if not visited[i]: dfs(i)dfs(V)의도를 먼저 설명해주겠다. 문장 앞의 번호는 코..
-
[크래프톤 정글] week1 + 추석연휴를 마치며,회고 2024. 9. 17. 21:20
크래프톤 정글에서의 험난한 미니프로젝트가 끝나고, 나서고도 일주일이라는 시간이 지났다. 1주차 끝난 시점에서 6일이나 지난 지금 WIL를 작성하려고 한다. 다른 동기들과 흡연장에서 나왔던 주제가 있었다. 각자 "인생에서 성공은 무엇인가" 라는 주제에서 "크래프톤 정글에서 성공이란 무엇인가" 라는 이야기로 넘어갔었다. 그때 우리는 크래프톤 정글 에서의 성공은 어제의 나보다 오늘의 내가 성장하는 것. 치타에게서 잡아 먹히지 않기 등… 이였다. 나의 1주차를 한 문장으로 설명하자면 도전의 연속이였다. 1주일 동안 아침에 일어나기 너무 싫고 저녁에 자고 싶어 미치겠다. 공부하는 중간 중간 잠이 오고, 공부해야 될 양은 또 어찌나 많은 지.. 너무 싫었다. 하지만 많음을 인정하고 어떻게 하면 효율적으로 같은 노..
-
[크래프톤 정글] TIL 9일차 큐(Queue)카테고리 없음 2024. 9. 10. 21:57
큐? 큐대? 그거 왜 쓰는데데이터를 순차적으로 처리하기 위해멀티태스킹 및 CPU 스케줄링운영체제에서 프로세스 스케줄링을 할 때, CPU는 여러 작업을 처리한다. 이 때 큐를 사용해 프로세스를 효율적으로 관리하며, 먼저 들어온 프로세스가 먼저 처리된다.데이터 스트림 처리실시간 데이터가 연속적으로 들어오는 경우, 데이터를 순서대로 처리해야 할 때, 큐를 사용.ex. 네트워크 패킷을 처리하거나 메시지 큐에서 데이터를 관리할 때 사용.BFS 알고리즘그래프 탐색 알고리즘 중 하나인 BFS 에서 노드를 탐색할 때, Queue 가 필수적이다. 탐색해야 할 노드를 순서대로 저장하고 처리하기 떄문이다.대기열 관리대기열이 필요한 고객 서비스나 병원 진료 시스템 처럼, 사람들을 먼저 온 순서대로 처리 하기 위해.큐 (Que..
-
[Python] BOJ 1920 : 수 찾기코딩테스트/백준 2024. 9. 10. 11:40
https://www.acmicpc.net/problem/1920 1. 요구사항 분석- N과 M 은 서로 다른 값이 될 수 있다.- M개의 수들이 N개의 수에 있는 지 확인할 것.- N에서 M의 여부를 순서대로 0,1 을 사용해서 보여줄 것. 2. 설계우선, 구현을 한 뒤 리팩토링 해보자. 구현 설계여러 요소를 한번에 int 형으로 바꾸기 위해서 map으로 N과 M 의 개수를 받는다.for 문을 이용하여 arr1 안에 arr2 가 있는 지 확인한다. 존재 유무를 가시적으로 보여줄 arr2만큼의 리스트를 초기화해준다.for 문을 이용하여 check_arr 를 하나씩 출력한다. 3. 실수[실수 1 : TypeError]# 오류 예시arr_list = [1, 2, 3, 4]for index in len(a..
-
시간 복잡도자유게시판 2024. 9. 9. 23:58
만약 당신이 IT 회사 면접자 신분으로 면접에 들어갔다. 면접관 중 한명이 당신에게 묻는다. "대용량 트래픽을 처리해본 경험이 있으신가요?"있다면, 처리해본 경험을 말해주면 되겠다.하지만, 신입 개발자라면 대용량이 아니라 1000건의 트래픽도 경험해본적이 없을 것이다. 하지만, 작은 데이터도 효율적으로 쓸 수 있는 방법은 없는 지 고민해봤더라면경험은 없지만 어떻게 하면 대용량을 처리할 수 있는 지에 대한 방법론은 알 것이다. 그것이 우리가 시간 복잡도에 대해 알아야 하고, 엔지니어라면 설령 양의 정수 A 와 B의 합을 구할 때도,더 효율적인 방법은 없는가? 이것이 최선인가? 그 "효율"에 대해 고민해야 된다 생각한다. 그러기 위해서 이제부터라도 꼭 시간 복잡도에 대해 공부를 해보자.. 시간 복잡도는 그 ..
-
[크래프톤 정글] day 7 TIL 정수론TIL 2024. 9. 8. 22:37
정수론 (Number Theory)정수론, 또는 수론은 정수의 성질 또는 정수가 등장하는 경우들을 연구하는 학문,문제 그 자체는 중학생도 이해할 수 있을 정도로 쉬운 경우가 많다.참고로 이름은 정수론이지만 주로 소수를 중점으로 다룬다.ex) 페르마의 마지막 정리, 골드바흐 추측, 콜라츠 추측, 리만 가설,…왜 개발자가 정수론을 배워야할까? 컴퓨터에서 정수는 정확한 값을 가질 수 있기 때문이다.컴퓨터의 floating point 시스템은 소수점 이상과 소수점 이하를 합쳐서 표현할 수 있는 '유효 숫자' 자리수에 한계가 정해져 있다.floating point 이란? 부동소수점실수를 컴퓨터상에서 근사하여 표현할 때, 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로 유효숫자를 나타내는 ..