분류 전체보기
-
백준 11000Java/코딩테스트 2023. 8. 8. 10:42
https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 그리디 알고리즘. 강의 시작 순서대로 담을 우선순위 큐 하나, 강의 끝나는 시간들만 담아둘 우선순위 큐 rooms하나 이렇게 정의했다. rooms에는 강의 끝나는 시간을 담아두고, rooms.peek(), 즉 가장 일찍 끝나는 강의실의 강의 종료 시점이 다음에 들어올 강의의 시작 시점보다 빠르거나 같은 경우에만 rooms.poll()을 수행하고, 새로 들어온 강의의 끝나는 시점을 다시 rooms에 넣으면 된다. 최종적으로 rooms의 사이즈가 ..
-
Docker 공부(1)BackEnd/Infra 2023. 8. 7. 19:21
Docker? 컨테이너 기반 가상화 도구, 어플리케이션을 컨테이너 단위로 격리하여 실행하고 배포하는 기술 어플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 Container ? : Image 실행 가능한 인스턴스 리눅스 커널 기능을 사용하여 만들어졌다. 라이브러리, 시스템 도구, 코드 등 소프트웨어 실행에 필요한 모든것을 포함 기존의 가상화 방식과 달리, 리눅스 커널을 공유하며 프로세스 단위 격리 방식으로 동작 호스트 OS 위에서 여러 격리된 환경을 생성, 각 컨테이너 안에서 어플리케이션 실행 컨테이너끼리 자원을 공유하거나 통신하는 것도 가능 여러 컨테이너를 실행하면 독립적으로 실행, 실행중인 컨테이너에 접속하여 명령어 입력 가능 호스트의 특정 포트와 연결하거나 호스트 특정 디렉..
-
프로그래머스 구명보트, 조이스틱Java/코딩테스트 2023. 8. 7. 16:27
오래간만에 프로그래머스에서 문제를 풀었다. 아직도 감을 잘 못 잡고 있는(...) 그리디 문제 2문제 풀어본 내용 정리. 그리디가 시중에 판매되는 알고리즘 책들 보면 꽤 앞쪽에 나와있는데... 난 그리디를 왜이렇게 못하는...? 구명보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 여기서 아무 생각이 없이 풀다가 놓쳤는데, 무조건 보트엔 2명밖에 못 탄다. 그러므로 가장 무거운 사람 + 가장 가벼운 사람 조합으로 가야 한다...이걸 생각..
-
CS 스터디 - 네트워크 Q&A (1)CS 2023. 8. 3. 12:55
4주가량의 스터디 동안 프레젠테이션 방식으로 돌아가면서 CS의 큰 주제에 대해 발표하는 시간을 가졌다. 스터디 모임때마다 각자 문제를 만들어오고 돌아가면서 답변하는 Q&A 방식으로 새롭게 진행중이다. 매주 긴장중... #1 ) HTTP 메소드인 PUT과 PATCH의 차이점에 대해 설명해주세요. - 자원에 모든 상태(필드)에 대한 값을 대입하지 않은 경우 PUT 메소드는 오지 않은 값에 NULL을 대입하여 변경합니다. 반면 PATCH의 경우, 오지 않은 값은 기존 값 그대로 두고 바뀐 부분만 변경합니다. - 요청한 URI에 자원이 존재하지 않는 경우 PUT 메소드는 새롭게 자원을 생성하고, PATCH는 존재하지 않는다는 메시지를 리턴합니다. - 멱등성 관점에서, PUT은 멱등성을 가지고 PATCH는 멱등성..
-
백준 15486, 14658Java/코딩테스트 2023. 8. 2. 02:50
https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net - 이전에 퇴사 문제(14501, 퇴사1, 실버3) 를 풀었었어서 쉽게 푼 동적계획법 문제 - DP[i] 를 i번째 날부터 퇴사날까지 얻을 수 있는 최대 이익으로 생각하고 배열을 역순으로 계산해나가면 된다. - 참고로 퇴사 날부터 거슬러서 계산을 해줘서 일부러 DP배열 사이즈를 한 칸 더 선언해뒀다. - 각 상담별로 소요 기간을 보면서 퇴사전에 끝난 경우 / 퇴사 전..
-
백준 1027, 14502Java/코딩테스트 2023. 7. 30. 19:01
https://www.acmicpc.net/problem/1027 1027번: 고층 건물 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작) www.acmicpc.net - 기울기 계산하는 공식이 필요한 문제 - 처음에는 오른쪽 왼쪽 다 계산하게끔 만들었는데, 그럴 필요 없이 그냥 한 방향으로 쭉 탐색할 수 있었다. - 일단 이웃하는 애는 무조건 보이고, 내 쪽에서 보인다는 뜻은 반대편에서도 내 쪽이 보인다는 뜻이므로 한 방향으로 탐색할 때 양쪽을 같이 증가시켜주면 된다. 이 문제는 진짜 ... 계속 뭐가 안 되는건지 원인을 잘 못찾아서 푸는데 오래 걸렸던 문제이..
-
백준 17070, 2212, 12018, 14719Java/코딩테스트 2023. 7. 26. 17:04
백준 17070https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의www.acmicpc.net- BFS로도 풀어보고, DP로도 풀어봤다. 처음에 BFS풀 때 움직일 수 있는 모든 방향을 리스트에 저장해서 다 도는 방식으로 구현했었는데, 시간초과 났었다. - 오른쪽으로 이동 가능한 경우 : 이전이 대각선이거나 가로 방향일 때 - 아래로 이동 가능한 경우 : 이전이 대각선이거나 세로 방향일 때 - 대각선으로 이동 가능한 경우 : 이전 상태 상관없이 다 가능 ..
-