| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- java
- middleware
- nestjs
- synchronized
- Dependency Injection
- Spring
- OAuth 2.0
- 일급 객체
- lombok
- spring security
- Google OAuth
- factory
- 일급 컬렉션
- builder
- Volatile
- Today
- Total
목록Algorithm (41)
HJW's IT Blog
문제 분석이 문제는 크기가 N x M 인 지도 위에서 주사위를 굴리는 시뮬레이션 문제이다. 주사위 이동에 대한 명령이 주어지며, 이동한 칸의 값에 따라 주사위와 지도의 값을 교환한다.문제 요구사항주사위는 주어진 명령에 따라 이동한다1 : 동2 : 서3 : 북4 : 남주사위가 지도 바깥으로 나가는 명령을 받는 경우 무시한다주사위가 이동했을때, 지도의 값이 0 이라면, 주사위의 바닥면을 복사한다주사위가 이동했을때, 지도의 값이 0 이 아니라면, 칸의 값을 주사위의 바닥에 복사하고, 칸은 0이 된다.코드 설계Dice 클래스Dice 는 6가지 면의 상태를 기록해 두는 클래스로, second : 윗면, fourth : 아랫면 을 기준으로 first : 북쪽을 바라보는 면, third : 남쪽을 바라보는면, lef..
문제 이해와 풀이 전략문제 규칙 요약상어는 1칸당 1초의 시간이 소요된다.자신의 크기보다 큰 물고기가 있는 칸은 이동할 수 없다.크기가 같은 물고기는 지나갈 수 있으나 먹지는 못한다.상어가 크기만큼의 물고기를 먹으면 크기가 1 증가한다.먹을 수 있는 물고기가 없으면 종료된다.먹을 수 있는 물고기가 여러 마리일 경우:가장 가까운 물고기위쪽에 위치한 물고기왼쪽에 위치한 물고기 순으로 먹는다.물고기를 먹으면 해당 칸은 빈칸이 된다.풀이 전략BFS를 통해 현재 상어가 도달할 수 있는 모든 칸을 탐색하며 먹을 수 있는 물고기를 리스트에 추가한다.먹을 수 있는 물고기 리스트를 문제 조건에 맞게 정렬한다.가장 가까운 물고기를 먹고, 상어의 위치를 갱신하며 크기를 체크한다.더 이상 먹을 수 있는 물고기가 없으면 종료한..
UnionFind란?Union Find 란 집합의 원소들이 어느 그룹에 속해 있는지를 빠르게 찾고 (Find) , 합치는 (Union) 연산을 효율적으로 처리하도록 설계된 자료구조이다.주로 서로소 집합(Disjoint Set) 문제를 해결되는데 사용되는데, 서로소 집합이란 공통된 원소가 없는 두 집합을 의미한다.기본 연산Union Find 는 이전에 말했듯이, Find 와 Union 연산을 지원해야 한다.Find : 주어진 원소가 속한 대표 를 찾는 연산이다.int[] find(int x, int y){ int[] root = this.parents[x][y]; if(root[0] == x && root[1] == y) return new int[]{x,y}; int..
https://school.programmers.co.kr/learn/courses/30/lessons/92345?language=cpp 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 분석이 문제는 두 플레이어 A와 B가 1x1 크기의 격자로 이루어진 보드 위에서 최적의 전략으로 게임을 진행하는 시뮬레이션 문제이다.각 플레이어는 발판이 있는 칸에만 이동할 수 있으며, 발판이 사라지는 조건에서 더 이상 이동할 수 없게 되면 패배한다.게임을 A 가 항상 먼저 시작하며, 양 플레이어는 최선 의 전략을 구사해야 한다.두 플레이어가 모두 최선의 전략으로 게임을 진..
https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해우선, 문제를 풀기 위해 필요한 알고력(alp_req)과 코딩력(cop_req)이 주어지고, 현재 가진 알고력(alp)과 코딩력(cop)이 주어진다. 알고력과 코딩력을 높이기 위해서는 다음과 같은 방법이 있다:알고력이나 코딩력을 1 올리는데 각각 1의 시간이 소요된다.현재 풀 수 있는 문제를 풀어서 알고력과 코딩력을 올릴 수 있다. 문제를 풀면 정해진 시간(cost)이 소요되며, 알고력(al..
https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 분석XX산의 지점은 출입구, 쉼터, 산봉우리로 나뉘어 있습니다. 우리는 출입구에서 시작해 산봉우리를 한 번만 방문하고 다시 출입구로 돌아오는 등산코스를 찾고자 합니다. 이 코스의 intensity는 휴식 없이 이동해야 하는 시간 중 가장 긴 시간을 의미하며, 이를 최소화하는 것이 문제의 핵심입니다.이 문제는 여러 지점과 등산로가 주어졌을 때, 주어진 조건을 만족하는 최소 intensity 코스..
https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 여러 로봇이 정해진 경로를 따라 이동할 때, 로봇들이 동일한 위치에 도달할 때 발생하는 충돌 상황을 계산하는 문제입니다. 로봇들이 동일한 시각에 동일한 좌표에 도달한다면 충돌 가능성이 있다고 판단합니다. 이를 통해 몇 번의 충돌 위험 상황이 발생하는지 계산해야 합니다.주요 규칙로봇은 2차원 좌표 평면에서 최단 경로로 이동합니다. 최단 경로가 여러 개일 경우 r 좌표가 우선적으로 변경됩니다..
https://school.programmers.co.kr/learn/courses/30/lessons/340212 문제 분석해당 문제는 제한된 시간 내에 퍼즐 게임을 해결할 수 있는 숙련도의 최소값 을 찾는 문제입니다.규칙은 다음과 같습니다.퍼즐 난이도 diff가 숙련도 level보다 작거나 같으면, 시간 time_cur만 사용하여 해결합니다.퍼즐 난이도 diff가 숙련도 level보다 크면, 틀린 만큼(= diff - level)의 추가 시간을 사용하게 됩니다. 이때 매번 틀릴 때마다 현재 퍼즐을 다시 풀고 이전 퍼즐도 다시 풀어야 합니다.제한 시간 내에 모든 퍼즐을 풀 수 있어야 합니다.이 문제를 풀기 위해 숙련도를 매개변수로 사용하는 이진탐색을 활용했습니다. 알고리즘숙련도 범위 설정: 숙련도는 최..
https://school.programmers.co.kr/learn/courses/30/lessons/84021 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 분석: 퍼즐 맞추기 문제이 문제는 게임 보드의 빈 공간에 테이블 위의 퍼즐 조각을 규칙에 맞게 최대한 많이 채우는 문제입니다. 주어진 퍼즐 조각을 회전시켜 빈칸에 맞추되, 인접한 칸이 비어 있지 않아야 하며, 퍼즐 조각은 한 번에 하나씩만 채울 수 있습니다. 퍼즐 조각의 뒤집기는 허용되지 않습니다. 게임 보드와 퍼즐 테이블은 각각 1x1 크기의 정사각형 격자 모양입니다. 목표는 퍼즐 조각을 적절히..
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 분석주어진 문제는 채용 지원자들의 정보를 바탕으로, 특정 조건을 만족하는 지원자가 몇 명인지 찾는 문제입니다. 지원자 정보는 info 배열로 주어지며, query 배열은 각 개발팀이 궁금한 조건을 포함합니다. 각 info 항목은 "개발언어 직군 경력 소울푸드 점수"의 형식으로 구성되고, 각 query 항목은 "개발언어 and 직군 and 경력 and 소울푸드 점수" 형식입니다.각 query에 대..