목록분류 전체보기 (184)
이숭간 공부기록
www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제유형 : 정렬 문제핵심 : 삽입정렬로 시간복잡도 O(n^2)을 가진다. 내코드: (삽입정렬) n = int(input()) array = list(int(input()) for _ in range(n)) for i in range(1, n): # 1,2,3,4 for j in range(i, 0, -1): # 1,2,3,4/2,3,4 if array[j] < array[j - 1]: array[j - 1], ar..
21년도 새해를 맞아 1월을 어떻게 의미있게 보내면 좋을까 고민하다 4학년을 맞이하였고 졸업요건 + 취업 을 위해 그동안 미루고 미뤘던 토익시험을 보기로했다. 쇠뿔도 단김에 빼라고 했으니 생각난김에 바로 그자리에서 토익시험 접수를 했다 (21년 1월 24일 ) 그동안 토익에 대해서 1도 몰랐고 만점이 몇점인지도 몰랐지만 학원을 다니거나 인강을 듣기엔 너무 시간이 아까운것같았고 800후반만 맞자는 것을 목표로 했기에 독학을 하기로 결정했다! 독학을 위해서 다음과같은 로드맵이 필요했다. 1. 교재구입 2. 파트별 공부법 + RC시간관리 ( 토익은 시간싸움임 ) 3. 3주동안의 공부계획세우기 1. 교재구입 모든 시험준비는 항상 기출이 최고라고 생각했기 때문에 토익출제기관인 ets에서 만든 토익기출문제집으로 선..
www.acmicpc.net/source/26224365 로그인 www.acmicpc.net 문제유형 : DFS/BFS _ connected component찾기 문제핵심 : 한칸의 땅을 노드로 하고 상하좌우로 연결을 갖는 그래프라고 생각하고 각 노드마다 DFS를 수행하여 처음 DFS를 시작한부분에서만 카운트 DFS수행방법 : 하나의 노드는 상하좌우로 연결되어있다고 생각하고 해당 노드가 1이면서 방문되지 않았을때 ( 배추가 심어져있으면서 방문전이면 ) 방문처리+ 상하좌우로 움직여서 다시 해당노드에서 재귀적으로 DFS수행 그래프는 2차원배열로 구현한 좌표평면의 형태이며, 움직일때마다 움직인곳이 좌표평면을 넘어가면 안되므로 그부분만 예외처리를 해주면된다. 처음 DFS를 시작한부분에서만 카운트하는 방법 : D..
순차탐색 : 리스트 안에 있는 특정한 데이터를 찾기위해 앞에서부터 하나씩 확인 이진탐색 : 정렬되어 있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터 탐색 ( 시작점, 끝점, 중간점을 이용하여 탐색범위를 설정한다.) 단계마다 절반씩 줄어드는 알고리즘의 시간복잡도는 보통 로그N 내코드 _ 잘못됨 ( 완전탐색이므로 시간초과남 ) n,m = map(int, input().split()) input_list = list(map(int, input().split())) for i in range(max(input_list), 0, -1): count = 0 for j in input_list: count += max(0, j-i) if count >= m: print(i) break 내코드2 _ 이진탐색으로 다시..
www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 문제유형 : 구현, 시뮬레이션 문제핵심 : 생각한 아이디어를 구현으로 잘 옮기는것.. 우선 푸는데 좀 오래걸렸다. 이런 구현이나 시뮬레이션 문제는 이렇다할 팁..? 이 없는거같아서 어떻게 정리해야할지 모르겠다. 미래의 내가 다시 풀어도 또 오래걸릴거같은 느낌이다 뭔가 생각할수록 점점 복잡해져서 하던 생각(?)을 끝까지 이어가지않고 자꾸 다른 더 간단한 방법을 찾으려고해서 점점더 생각이 정리되지않고 산으로 ..
www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제유형 : 수학 문제핵심 : 내가있는 위치까지 움직인 거리들(왼쪽경계로부터출발, 아래로부터출발) , 반대편 경계까지 가기위해 움직여야할 거리(위까지, 오른쪽까지 ) 중 가장 작은거리를 구하기 매 우 쉬운문제 x,y,w,h = map(int, input().split()) print(min(x,w-x,y,h-y))