
문제보러가기 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 이 문제는 그래프 탐색 문제로 주어진 노드가 한 팀이 되는지 -> 사이클이 이뤄지는지 확인하는 문제였다. dfs를 통해 풀이하였다. 문제풀이 처음에는 단순히 1번이 선택한 사람이 2번이면 1->2 이동후 2번이 선택한 사람 순으로 탐색을 진행하였다. 탐색을 진행하다가 start 한 1번이 다시 나오게 되면 사이클이 이뤄지므로 해당하는 사람들이 한 팀이고 이를 카운트 변수인 cnt에 담아 인원수를 판별하였는데 아래와 같은 경우의 반례가 존재했다. 이런 그래..
문제보러가기 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 이문제는 경로가 여러개 나올수 있다는 점과 그럴 경우 알파벳 순서가 앞서는 경로를 답으로 택하는것만 주의하면 되는 문제였다. 나는 경로가 여러개 나올때 계속 같은경로가 여러번 저장되길래 삽질을 좀 했다..;; array의 주소값으로 참조함을 잊지말자 ㅎ.. copy사용을 생각하자...ㅎ 문제풀이 -"ICN"으로 시작하는걸 start -ticket[i][1]이 다음 start가 된다. -모든경우를 탐색한 후 list에 저장된 경로 중 알파벳순으로 sorting import ..
문제보러가기 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 이문제의 포인트는 주어진 단어의 한글자만 바꾼 단어가 주어진 단어의 집합에 있는지 확인하면서 진행해 나가는 과정이었다! 처음에는 단어를 바꾸니까 subString()을 쓰면 되겠다! 했는데 더 복잡해졌다는,,,, 문제풀이 -주어진 단어집합에 내가 비교하는 단어에서 한글자만 다른단어가 있는지 탐색 -visited == false라면 dfs에 그 단어로 다시 dfs진행 -target과 같아질때까지 비교 나는 한..
문제보러가기 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 이문제는 전형적인 dfs라고 생각하고 풀었다. 딱 보자마자 탐색부터 해야지..라고 생각했는데 이게 그래프 노드의 숫자만 기억하면 되서 이차배열로 생각하다 복잡해졌었다. 쉬운문제이지만 기본기가 있어야 하는 문제라고 생각한다! 풀이방법 dfs로 탐색을 하면서 visited배열로 방문여부를 체크한다. 방문하지 않을경우 연결되지 않은 네트워크 이므로 따로 탐색을 한다. package programers; public class Network { s..
문제보러가기 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 이문제는 DFS/BFS 카테고리에 있는 level2문제로 간단한 편이라고 할 수 있다. 요새 계속 알고리즘을 풀어도 실력이 느는것 같지 않길래 우선 카테고리부터 정복하자! 해서 시작했다. 풀이 방법도 딱히 없이 dfs로 -일때와 +일때를 나눠서 해결해주면 되는 문제였다. package programers; public class TargetNum { static int answer; public ..
문제 보러 가기 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net 음... 문제가 어려웠던 건 아니겠지... 나는 어려웠다. 우선 이문제는 dfs도 bfs도 가능하다! 다른 분들의 풀이를 보니 어떤 분은 dfs와 bfs를 함께 사용하기도 했다. 나는 bfs를 사용했다 고려사항 -인구이동의 조건 : 각 인접한 나라가 L = n) { continue; } int diff = Math.abs(map[tmp.x][tmp.y] - map[sx][sy]); if ((diff r) ..
- Total
- Today
- Yesterday
- 코딩테스트
- 프로그래머스
- 삼성 sw역량테스트
- java
- OS
- Spring
- BFS
- JavaScript
- git
- 최소 스패닝 트리
- 백준
- Oracle
- DP
- 채팅
- Heap
- 삼성 sw역량 테스트
- Stomp
- programers
- 운영체제
- 자바
- 알고리즘
- 정렬
- sockjs
- SWEA
- 완전탐색
- Baekjoon
- dfs
- websocket
- MST
- 분리 집합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |