https://www.acmicpc.net/problem/20923 20923번: 숫자 할리갈리 게임 첫째 줄에는 도도와 수연이가 가지는 카드의 개수 N(1≤N≤30000)과 게임 진행 횟수 M(1≤M≤2500000)이 주어진다. 둘째 줄부터 N개의 줄에는 띄어쓰기로 구분하여 도도와 수연 www.acmicpc.net 처음에 문제가 이해가 안되서 한참 보다가 질문에서 두 사람이 낸 카드의 총합이 M이라는 걸 보고 아.. 그제야 이해했다. 이해한 후에는 그렇게 어렵지 않았는데, 처음에 바보같이 그라운드의 카드를 종을 친 사람의 덱으로 가져올 때 그라운드를 스택이라고 생각하고 풀어서 시간초과가 났다. 아니 사실 pypy로 돌렸을 땐 틀렸습니다..
전체 글
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew/dashboard 자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의 스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., 자바 스프링 프레임워크로 내 개발자 커리어에 봄이 www.inflearn.com 섹션 5. 연결 23강 JDBC 23-1 기본 SQL 테이블 생성 및 삭제 CREATE TABLE member ( memId VARCHAR2(10) CONSTRAINT memId_pk..
https://www.acmicpc.net/problem/18115 18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net i번째로 카드를 내려 놓았을 때 내려 놓은 카드는 N-i 카드 이므로 원래 가지고 있던 카드의 인덱스 0~N을 덱에 넣어놓은 후, 인덱스를 하나씩 빼면서 정답 배열에 카드를 넣어주었다. 1인 경우에는 덱의 제일 앞의 인덱스에 카드를 넣어주면 되고 2인 경우에는 덱의 앞에서 두번째 인덱스에 넣어주어야 하므로 맨 앞의 인덱스는 따로 저장해놓고 두번째 인덱스를 pop한 후, 다시 첫번째 인덱스를 앞에 ..
https://www.acmicpc.net/problem/3078 3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net 슬라이딩 윈도우를 활용한다고 하여도.. 같은 길이의 문자열을 찾으려면 K개의 범위를 다 돌아봐야 하니까 시간초과가 날 것 같은데... 하는 생각에 오래 고민하다가 슬라이딩 윈도우의 장점을 사용하기 위한 방법을 생각해보았다. 바로 문자열의 길이를 인덱스로 하는 배열을 따로 만든 후에 같은 길이의 문자가 윈도우 안에 있는경우 그걸 인덱스로 한 값을 +1 해주는 방식이었다. 이렇게 ..
https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 아... 정말 어려웠다... 사실 어려운 것보다 내가 너무 어렵게 생각했던 것 같다. 처음에는 주어진 입력을 각각 원소로 해서 2차 배열을 만들어 저장하고 maxHeight를 찾고 그걸 기준으로 어떻게 잘 나누어서 해보자.. 라고 접근을 했는데 이 방식도 계속 파고 들어가면 풀 수 있을 것 같긴 하나.. 이렇게 푸는 게 과연 맞는 건가 하는 의문이 계속 들었다. 그리고 나서는 아,..
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew/dashboard 자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의 스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., 자바 스프링 프레임워크로 내 개발자 커리어에 봄이 www.inflearn.com 섹션 5. 연결 22강 Database 22-1 오라클 다운로드 오라클 계정 생성 후 컴퓨터에 맞는 버전으로 다운로드 http://www.oracle.com/technetwork/da..

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew/dashboard 자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의 스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., 자바 스프링 프레임워크로 내 개발자 커리어에 봄이 www.inflearn.com 섹션 5. 연결 21강 리다이렉트, 인터셉트 21-1 리다이렉트(redirect) 지금의 페이지에서 특정 페이지로 전환하는 기능 @RequestMapping(value = "/modi..
https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 머리가 안돌아가서.. 도저히 풀 수 있는 방법이 생각나지를 않았다. 예시의 답이 1+1+2+3+6+7 = 20 보다 하나 더 큰 수라는 건 알았지만, 그리디를 이용해서 어떤 공식을 찾을 수 있을 지 생각이 나질 않았다. 그래서 질문을 좀 검색해 본 결과.. 현재 뽑은 숫자가 지금까지 더한 숫자 보다 작다면 그 수는 지금 까지의 더한 수(SUM) 부터 뽑은 수를 더한 값(SUM + ARR[i]) 까지 만들 수..
https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 처음엔 문제에 나와있는 코드를 그대로 구현해봤는데, 시간초과가 났다. 버블정렬은 O(n^2)의 시간복잡도를 가지기 때문이다. import sys N = int(sys.stdin.readline()) A = [-1] for _ in range(N): A.append(int(sys.stdin.readline())) for i in range(1, N+2): change = Fa..
https://www.acmicpc.net/problem/11582 11582번: 치킨 TOP N 인하대 주변 치킨칩의 맛의 정도를 측정해 수치화하는 동아리 C.T.P(Chicken Tastes Perfect)의 회장 민호는 치킨집의 맛의 수치를 감소하지 않는 순으로 정렬을 하고 싶었다. 하지만 치킨집이 너무 많 www.acmicpc.net 정렬의 중간 과정을 구하는 문제이다. 주어진 숫자의 수가 N, 현재 정렬을 하고 있는 사람이 k라고 했을 때 정렬되는 단위는 N//k이다. 따라서 N//k만큼의 길이로 배열을 나누어서 정렬한 후 출력해주었다. import sys N = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split()..