일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 leetcode
- 리트코드 1557
- Java
- 백준 18222
- BFS
- 스프링 에러
- dfs
- 그래프 자바
- 자바 리트코드
- 백준 16935
- 백준
- 리트코드 자바
- daily challenge
- leetcode 1721
- 리트코드
- 프로그래머스 java
- 자바
- 코딩테스트
- java 프로그래머스
- 스택
- DP
- leetcode
- 카카오
- 코테
- 파이썬
- 프로그래머스
- 인텔리제이 에러
- 자바 5464
- Today
- Total
목록알고리즘/프로그래머스 (18)
레벨업 일지
문제 코딩테스트 연습 - [PCCP 기출문제] 2번 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 많은 석유량을 return 해보자 풀이 풀이는 다음과 같습니다. dfs 하면서, 석유 덩어리가 나오면 해당 덩어리 전처에 마킹을 합니다. 해시맵에 마킹번호, 덩어리 개수를 저장합니다. 해시맵에 저장이 끝난 후 , 시추관으로 위에서 아래로 탐색하면서 Set 에 마킹 넘버링을 담습니다. answer 변수를 update 하면서 모든 열 에대해 탐색합니다. answer를 리턴합니다. Stream.of(s..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 잘 읽자 ! 처음에 아래 조건들을 하나같이 반대로 이해해서 잘못 구현했다. 사용할 수 있는 곡괭이중 아무거나 하나를 선택해 광물을 캡니다 .한 번 사용하기 시작한 곡괭이는 사용할 수 없을 때까지 사용합니다. 광물은 주어진 순서대로만 캘 수 있습니다. 광산에 있는 모든 광물을 캐거나, 더 사용할 곡괭이가 없을 때까지 광물을 캡니다. 완전 탐색으로 구현했다. 이유는 조건의 길이들이..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알아야 할 개념 차원 축소 풀이 두시간 넘게 고민하고 프로그래머스의 질문하기 란을 참고하여 작성했다. 2차원 행렬에서 네모 박스 범위의 값을 효과적으로 구하는 풀이법이어서 감탄했던 문제. 문제에서 주어진 공격 정보를 3중 for문으로 나이브하게 탐색하면 worst case 에서 시간 초과가 난다. (배열의 최대 길이 ) x ( skill의 최대 길이 ) = 1000 * 1000 * 250,0..
문제 https://school.programmers.co.kr/learn/courses/15008/lessons/121685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알아야 할 개념 재귀함수 호출 dfs 풀이 재귀 함수 dfs 탐색을 주어진 조건을 고려했을때, 탐색 레벨의 최대값은 16이다. bfs로 주어진 index까지 브르투 포스 하면 4억번 이상의 연산으로 tle 를 마주하게 된다 특정 위치만 찾는법은 없을까? 라는 생각이 들었다. 풀이는 다음과 같다. 우선 주어진 조건을 재귀함수로 받는다. Level이 1이면 "Rr" 리턴. Level이 2..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알아야 할 개념 스택 풀이 링크드 리스트로 풀이하였다. (자바의 스택은 링크드 리스트의 일종이다. ) 풀이 알고리즘은 다음과 같다. 주어진 문자를 문자 배열로 바꿔서 탐색한다. 현재 문자가 ( 이면 리스트에 담는다. 현재 문자가 ) 일때 비어있는 리스트일 경우 false 리턴 탐색을 마치고 리스트가 비어있는지 여부를 리턴한다. 단순하게 , 문자를 탐색하면서, '(' 문자를 계속 추가하다가, ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 최적화를 해서 풀까? 싶다가 나이브하게 brute force로 충분히 패스 가능한 시간복잡도를 가졌다. 로직은 다음과 같다. dfs 재귀 탐색으로 완탐한다. 각 레벨마다 4가지 할인율의 정보를 disInfo 배열에 담는다. 리프 노드에서 조건에 따른 사용자의 경우의 수를 따져 list에 추가한다. 모든 경우의 수 ( 가입자 수 , 판매액 ) 를 담은 배열을 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2023 KAKAO BLIND RECRUITMENT 기출문제 알아야 할 개념 DFS 풀이 로직은 다음과 같다. 거리 배열 dx, dy 를 주어진 순서대로 생성한다. // 아래, 왼쪽, 오른쪽, 위 4방향 탐색 dfs 함수를 만들어 탐색한다. 현재 위치에서 end 지점까지 도달할 수 없으면 탐색하지 않는다. 더이상 이동할 수 없고, end 지점에 도달했으면 답을 리턴한다. 문제에서 요구하는 ..
문제 코딩테스트 연습 - 마법의 엘리베이터 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 민수와 마법의 엘리베이터가 있는 층을 나타내는 정수 storey 가 주어졌을 때, 0층으로 가기 위해 필요한 마법의 돌의 최소값을 return 하시오. 알아야 할 개념 재귀 함수 호출 풀이 풀이는 다음과 같다. 숫자 < 10 이하일때 버튼 누를 개수를 배열에다 저장 현재 숫자에서 5 이하이면, 값만 더해주고 재귀호출 현재 숫자에서 5 이상이면, 다음 숫자에 + 1을 한다음 재귀호출 현재 숫자 < 10 이면, a..