일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 28278 자바
- 백준 1764 자바
- 백준
- dfs
- 자바 1003
- 자바 2164
- 10807 자바
- BFS
- 자바
- 2164 자바
- IAM Identity Center
- 2798 자바
- 자바 2346
- 데보션영 3기
- IAM 사용자
- 1764 자바
- 티움투어
- 자바 28278
- 백준 10866 자바
- 파이썬
- 2346 풍선 터뜨리기
- 10813 자바
- 2748 자바
- 백준 2346 자바
- 28278 스택 2
- 10810 자바
- 그리디
- 코딩테스트
- 1010 자바
- 자바 10866
- Today
- Total
목록코딩테스트/Java (57)
자두의 데브로그
https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이걸... 틀리다니 ...틀린 이유는 사실 int로 선언해서 그렇고, long으로 풀면 바로 해결! *언제 int를, 언제 long을 사용해야되는지 다시 공부해보자!import java.util.*;class Solution { public int solution(String t, String p) { int answer = 0; int p_length = p.leng..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 크아악.. 이 문제도 정렬해야되는 것만 아니었으면 맞을 수 있었는데 정렬해야되는 사실을 테스트케이스 돌려보다가 알았다.. 근데 어떤 식으로 정렬해야 내부의 배열에 영향을 주지 않고 정렬한 뒤에 이 값을 출력해낼 수 있을지에 대해서 고민하다가 결국 또 구글링행 ^^ dfs 함수를 만들 때 문자열을 원소로 갖는 ArrayList를 생성하여 이를 정렬하게 되면 오름차순에서 가장 앞에 있는 문자열을 답으로 ..
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 단순히 탐색만 하는 것이 아니라 조건에 맞는 경우에 대한 탐색을 하는 문제였다. 문제를 풀다가 막힌 부분이 여러 군데 있었는데...1. 조건을 어디에 넣어야 하는가..2. visited를 boolean으로 선언해야하는가? int로 선언하면서 동일한 경우에 대한 인덱스에 해당하는 visitied[idx]값을 출력해야하는가?3. 하나의 값만 차이날 때 dfs를 실행해야 되는데 어떻게 구현할까4..
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 미로 게임이랑 거의 유사하지만 만약 가는 길이 없으면 가장 마지막에 -1로 출력해야되는 부분이 달랐다. 최단 거리를 구하는 문제이기 때문에 bfs를 구현해서 풀면 됐었는데, bfs의 for문 내에서 queue에 값을 추가해야하는 것을 까먹고 재귀로 넣어서 첫 번째 풀이는 틀렸었다. 탐색을 시작하는 지점은 (0, 0) 좌표이기 때문에 애초에 bfs(0, 0)을 실행하면 된다. visited[0][0]은 ..
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제를 왜 혼자 못풀었을까 .... 문제 푼 방법 설명해보겠다.. 일단 visited를 하나 선언함으로써 연결된 컴퓨터 사이의 관게를 파악할 수 있도록 한다. 이후로 visited를 차례로 돌면서 네트워크가 다른 네트워크랑 연결되어있는지 확인하고, 만약 visited가 false면 일단 네트워크의 개수를 하나 증가시킨다. (연결되어있다면 dfs 내에서 visited에 해당하는 값을 true로 바꿀..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내가 작성했던 블로그 보니까 과거에 파이썬으로 코테 준비했을 때의 내용만 있길래 자바로 다시 풀고 올린다.거의 다 맞췄는데 무한루프 돌길래 이상해서 찾아보니 진짜 이상한 짓을 하고 있었다.어차피 depth가 인덱스 역할을 해주고 있는 건데 for문으로 dfs 함수 안에서 또 numbers[i]번째의 값과 더하거나 빼는 방식을 추가해버려서 처음에는 틀렸었다. 그리고 return의 위치!!!! retur..

https://www.acmicpc.net/problem/5568 마찬가지로 DFS를 활용한 완전탐색로 푸는 문제였다. 익숙해졌다고 생각했는데 조금만 응용해서 나오면 못 푸는 게 현타가 오지만..^^ 다시 풀어보다보면 감을 잡겠지.. 이 문제는 visited를 확인해줬어야 했는데, dfs에 처음에는 0과 빈 문자열을 넣어주고, depth를 늘려서 결국 k의 값과 같은 경우에 대해서만 arrayList에 add 하면 된다. 하지만 이때 arrayList에 이미 있는 수에 대해서는 넣으면 안되기 때문에 contains로 이미 존재하는 값에 대해서 비교해준다. 문자열로 입력 받는 이유는 순서를 바꿔서 단순히 숫자를 문자열처럼 합치는 작업이기 때문에 숫자로 하면 서로 더해진다는 문제가 생긴다. 그리고 for문을..

https://www.acmicpc.net/problem/18511 DFS로 완전탐색 하는 문제를 너무 못하길래 무려 실버 5인 문제를 풀어봤는데 역시나.. 엣지 케이스에 싹 다 걸려서 계속 틀렸다. 사실 더 이상 무슨 반례가 있는지 모르겠어서 결국 구글링행.... 내일 다시 풀어보자 ^^ dfs 함수를 만들어서 내부에서 먼저 인수로 들어온 값이랑 n의 값을 비교해서 만약 인수 값이 더 크다면 그대로 return하고, 아니라면 answer의 값과 인수 값을 비교해서 answer의 값이 더 작다면 인수 값을 answer에 저장한다. 그리고 반복문을 돌리며, k 즉, 저장된 값의 개수만큼 돌리되, 큰 수부터 계산할 수 있도록 뒤에서부터 arr의 값을 가지고 와서 인수와 10을 곱한 값을 arr의 값과 더하고..
https://www.acmicpc.net/problem/7562 드디어 DFS, BFS 문제를 풀이 없이 혼자 풀어봤다 !!!!! 최근 금융권 준비하면서 완전탐색, 문자열, DFS/BFS 위주로 문제 풀고 있는데 DFS/BFS가 문제에 나와도 잘 못푸는 걸 깨닫고 스스로 화났던 과거를 청산하기 위하여... 열심히 풀었던 문제 또 풀어보고 풀어보고를 반복하다보니 드디어 조금씩 감을 익히고 있는 것 같다. 사실 근데 문제 자체는 크게 어렵지 않다. 나이트가 이동할 수 있는 방향은 총 8개로, 기존에 미로 탐색 같은 문제에서 갈 수 있는 방향을 상, 하, 좌, 우 4군데로 지정해서 했던 것처럼 이번에는 8군데로 지정해서 BFS로 문제를 풀면 된다. 원래 DFS/BFS 문제를 풀 때는 graph랑 visit..