전체 글53 [백준/S1/구현/자바] 2564 경비원 💡 문제 동근이는 무인 경비 회사 경비원으로 항상 대기하고 있다가 호출이 들어오면 경비차를 몰고 그 곳으로 달려가야 한다. 동근이가 담당하고 있는 곳은 직사각형 모양의 블록으로 블록 중간을 가로질러 차가 통과할만한 길이 없다. 이 블록 경계에 무인 경비를 의뢰한 상점들이 있다.예를 들어 가로의 길이가 10, 세로의 길이가 5인 블록의 경계에 무인 경비를 의뢰한 3개의 상점이 있다고 하자. 과 같이 이들은 1, 2, 3으로 표시되어 있고, 동근이는 X로 표시한 위치에 있다. 1번 상점에서 호출이 들어 왔을 때 동근이가 블록을 시계방향으로 돌아 이동하면 이동 거리가 12가 된다. 반면 반시계방향으로 돌아 이동하면 이동 거리는 18이 된다. 따라서 동근이가 1번 상점으로 가는 최단 거리는 12가 된다. 마찬.. 2024. 4. 30. [백준/S2/구현/자바] 1138 한 줄로 서기 💡 문제 N명의 사람들은 매일 아침 한 줄로 선다. 이 사람들은 자리를 마음대로 서지 못하고 오민식의 지시대로 선다. 어느 날 사람들은 오민식이 사람들이 줄 서는 위치를 기록해 놓는다는 것을 알았다. 그리고 아침에 자기가 기록해 놓은 것과 사람들이 줄을 선 위치가 맞는지 확인한다. 사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까지 모두 다르다. 각 사람들이 기억하는 정보가 주어질 때, 줄을 어떻게 서야 하는지 출력하는 프로그램을 작성하시오 ⌨ 입력 첫째줄 사람의 수 N이 주어진다. N 2024. 4. 21. [백준/S3/구현/자바] 24060 알고리즘 수업- 병합 정렬1 💡 문제 오늘도 서준이는 병합 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 병합 정렬로 배열 A를 오름차순 정렬할 경우 배열 A에 K 번째 저장되는 수를 구해서 우리 서준이를 도와주자. 크기가 N인 배열에 대한 병합 정렬 의사 코드는 다음과 같다. merge_sort(A[p..r]) { # A[p..r]을 오름차순 정렬한다. if (p < r) then { q 2024. 4. 19. [주간 회고] 알고리즘은 어려워 🙄 알고리즘 풀이 최근에 알고리즘 문제를 풀기 시작했다. 풀게된 계기는 내년 하반기에 취업을 하기위해서 준비중인데 알고리즘 테스트 골드2-3정도 까지 문제는 풀수있어야 왠만한 기업 코딩 테스트는 합격 할것같았기 때문이다. 카카오는 골드1 난이도의 문제도 종종 나온다고한다. 골드1 문제는 너무 어려워 보이는데.. 풀 수 있을까? 노력해보자 😱 알고리즘은 어려워... 문제 푸는 방식은 아래의 책을 보고 알고리즘을 종류에 대해 알아보고 solve.ac에 해당 알고리즘의 많이 푼 문제순으로 정렬하여 V2 ~ S4 정도의 문제를 선택하여 풀고있다. 문제를 푼후에 내 풀이를 적고 다른사람의 풀이를 보고 배울점이 있다면 왜 저렇게 풀었는지 생각해본다. 🤔 실력이 늘고 있는건가? 처음 문제를 풀고 다른사람의 답안을 봤.. 2023. 11. 25. [Chapter8] EC2 서버에 프로젝트 배포하기 EC2에 깃을 설치하고 프로젝트를 Clone 합니다. 코드들이 잘수행되는지 테스트로 검증해봅니다! 배포스크립트 작성하기 배포 : 작성한 코드를 실제 서버에 반영 하는것 - git clone 혹은 git pull을 통해 새버전 프로젝트를 받음 - Gradle 이나 Maven을 통해 프로젝트 테스트와 빌드 - EC2 서버에서 해당프로젝트 실행 및 재실행 위 과정을 배포할때마다 명령어를 실행하는 것은 불편함으로 쉘스크립트를 작성합니다. 쉘스크립트 : 리눅스에서 사용할수있는 스크립트 파일의 한종류 Vim : GUI 환경이 아닐경우 사용할수있는 편집도구 deploy(배포).sh 를작성합니다. 오타 책에 오타가 하나있는데 >> {pgrep -f 중괄호 표시가 되어있었다. 문법오류가 있어서 빌드가 안되었다. 쉘스크립.. 2023. 10. 31. [자바의 정석] 람다 1.람다식 람다식(Lambda expression)은 메서드를 하나의 식(expression)으로 표현한것이다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로 람다식을 "익명 함수" 라고도 한다. 1 - 2 람다식 작성하기 메서드에서 이름과 반환타입을 제거하고 매개변수 선언부와 몸통 { } 사이에 -> 를 추가합니다. int max(int a, int b) { return a > b ? a : b; } 위의 식을 람다식으로 바꾸면 (int a, int b) -> { return a > b ? a : b; } (int a, int b) -> a > b ? a : b (a, b) -> a > b ? a : b return문 대신 '식'으로 대신가능하며 '식' 이므로 끝에 " ; " 을 붙이.. 2023. 10. 30. 이전 1 ··· 5 6 7 8 9 다음