일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 해결
- 프로그래머스
- Linux
- docker
- 스프링
- dfs
- bfs
- HashMap
- spring boot
- 구현
- 백엔드
- 문자열
- 구름LEVEL
- IntelliJ
- Java
- 주니어
- 스프링부트
- spring
- 코딩테스트
- 스프링 부트
- 스타트업
- 해시맵
- 배열
- HTTP
- 도커
- 명령어
- 자료구조
- 개발자
- 인텔리제이
- 이직
- Today
- Total
목록코딩테스트 (50)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 노드끼리 연결된 네트워크가 등장한다면 대체로 BFS와 DFS를 떠올리면 된다. 최단거리를 구해야 한다면 BFS를, 완전 탐색이 필요하다면 DFS를 사용해야하는데 이 문제에서는 모든 연결점을 탐색하여 네트워크의 개수를 파악해야하므로 DFS가 필요했다. 노드의 방문여부를 체크하고 종료조건을 삽입하기 위해 isVisited 배열을 활용했다. 로직 설명 solution 메서드 - 종료조건을 기록할 int[] isVisited 배열 선언 - computers배열에서 모든 노드의 연결정보를 순차적으로 탐색하며..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 먼저 주어진 전체 수열을 set으로 저장하고, 그 다음에 주어지는 M개의 수들의 포함여부를 set에서 체크하여 포함할 경우 1을, 아닐 경우 0을 출력하면 되는 문제이다. 로직 설명 생략 작성 코드 import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLin..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 투포인터를 사용하여 순차적으로 탐색하며 해결할 수 있는 문제이다. 지름(D) 이하에서 제거할 개미의 수를 최소로 만든다는 건 바꿔말하면 조건에 맞는 개미 숫자를 최대한으로 보존해야함을 의미한다. 즉, 개미들의 위치가 정렬되어 저장된 배열을 포인터 두 개로 완전탐색하여 모든 경우의 수에 대해 최대 개미수를 갱신하면 되는 것이다. 포인터 begin이 고정된 상태에서 포인터 end는 조건(D 이하) 내에서 최대한 진행하여 maxAnts를 갱신한다. 조건을 벗어나면 begin을 증가시키고 다시 거기서부터 end가 탐색을 시작한다. begin과 end는 같은 곳에서 시작해 끝까지 탐색하며 b..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 1) 주어진 주식 종목의 평가 금액을 산출한 후에 2) 평가 금액이 높은 순, 주식 번호가 낮은 순으로 판매할 주식의 번호를 순서대로 출력해야하는 문제이다. 주식 번호는 주식이 제시되는 순서와 동일하다. 로직 설명 - n에 주식 개수 저장 - 가격, 주식번호 저장용 배열 double[n][2] 선언 - n만큼 반복하며: 한 줄씩 읽어 가격(price)과 주식번호(i + 1)를 저장 - Arrays.sort() 메서드에 Comparator를 재정의하여 주식 가격 기준 내림차순, 주식 번호 기준 오름차순 정렬 - 정렬된 배열을 탐색하며: 순차적으로 번호와 공백 StringBuffer에 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 행렬의 곱셈을 그대로 옮겨서 작성하면 되는 문제로 접근법이라고 할 게 없는 간단한 문제이다. 로직 설명 - 답변 배열 선언(사이즈: arr1의 행 x arr2의 열) - 답변 배열을 탐색하며 arr[i][j]에 곱셈 후 합산 결과값을 넣어줌(합산을 위해 위해 k를 사용) Note - 맞추긴 했는데 행렬 계산법이 헷갈려서 다시 한 번 개념을 찾아봤다. 왜 2단계 문제인지는 모르겠다. 정답코드 class Solution { public int[][] solution(int[][] arr1, int[][..