| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- backjoon
- 조합
- 백준 알고리즘
- 익명클래스
- 네트워크
- 재귀함수
- 프로그래머스
- 백준
- dp
- 현대오토에버 코딩테스트
- dfs
- Java
- 익명객체
- BFS
- CKLU
- IT
- Android
- 알고리즘
- 너비탐색
- 데이터베이스
- 다이나믹 프로그래밍
- 멀티스레드
- 삼성sw문제
- 언더라이터
- 자바
- 삼성SW테스트
- 안드로이드
- 모바일
- 금융IT
- 개발
- Today
- Total
목록Algorithm (50)
Limky 삽질블로그
프로그래머스 #DFS - 단어변환 https://programmers.co.kr/learn/courses/30/lessons/43163?language=cpp 사용한 개념 DFS 문제입니다. 탐색가능한 단어를 찾고, 다시 탐색한 단어으로 탐색가능한 단어를 찾고.. 이 과정에서 일전에 지나왔던 단어는 다시 탐색하지 않습니다! 왜냐..무한 재귀를 돌기 때문이죠..또한, 최소탐색횟수를 구하는 문제에 철학에도 맞지 않습니다. 저는 아래와 같은 프로세스로 해당 문제를 해결했습니다. 1. 탐색 가능한 단어찾기 (알파벳 1개만 다른경우만 가능 : 중복체크를 방지하기 위해 한번 찾은 알바벳을 의미 없는 문자로 대체) 2. 탐색 가능한 단어가 일전에 탐색한 단어인지 체크(새로운 단어인 경우만 탐색) 3. 타켓을 구하면,..
백준 시뮬레이션 문제 #16235- 나무재태크 https://www.acmicpc.net/problem/16235 사용한 개념 시뮬레이션 문제입니다. 문제에서 주어진 조건에 따라 각 단계별 로직을 짜고 전체 프로세스를 만드는 문제입니다. 별다른 개념은 필요하지 않습니다. if문과 for문 등등의 조건/반복문을 이용해서 자기 스타일대로 짜면 되는것이죠.. 이 문제에서 힘들었던 점은 시간초과를 어떻게 방지하냐 입니다.. 제가 삽질하면서 느꼈던 내용은 아래와 같습니다. 1. ArrayList보단 LinkedList가 성능이 더 좋다. 2. LinkedList를 자주 add하고 poll하는것은 많은 스택오버플로우를 낼 수 있다. 따라서 get으로 접근하거나 iterator를 적절히 사용하는 것이 성능에 좋다. ..
백준 DFS 문제 #16234- 인구이동 https://www.acmicpc.net/problem/16234 사용한 개념 DFS 문제입니다. BFS로도 할 수 있을 것 같은데, 저는 DFS 재귀 연습도 할겸 DFS 했습니다. 연합을 이룰 수 있는 국가를 구하고, 연합 국가의 총 인구수와 국가를 나누는 간단한 DFS문제입니다. 제가 생각한 프로세스는 다음과 같습니다. 1. DFS로 조건에 맞는 연합국가를 구한다. 2. DFS탐색시 조건에 맞는 국가는 Sticker를 붙여서 연합국을 구별하도록 한다. 3. 각 연합국안에서 인구이동 실시. 4. 1-3 계속 반복...더이상 인구이동이 없을 때까지... 딱히 어려운건 아니였으나...시간차를 두고 풀어봤는데, 다르게 소스를 짰네요...ㅎㅎ.. 간혹 시간초과가 뜨는..
백준 조합 문제 #14889 - 스타트와 링크 https://www.acmicpc.net/problem/14889 사용한 개념 기본적으로 조합을 구하는 문제입니다. 순열과 조합에 대해서 기본적으로 구별하고 구할 수 있어야합니다. 순열과 조합에 대해서 잘 모르겠으면...아래 링크를 참고하세요.. 2019/03/23 - [프로그래밍/Java] - [JAVA] 조합,중복조합,순열,중복순열 소스 제가 생각한 프로세스는 다음과 같습니다. 1. 일단 스타트팀만 구한다. (조합) 2. 스타트 팀 팀원을 구하면, 자동으로 링크 팀을 구할 수 있음. 3. 각 팀 안에서 2명씩 짝지어, 능력치를 구한다. 4. 3번에서 구해진 각 팀의 능력치의 차이가 제일 작으면 계속 갱신... 5. 1-4 번 모든 경우에 수를 다 구한다..
삼성 SW 모의 테스트 #1953 - 탈주범 검거 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq 사용한 개념 1. BFS탐색2. 시뮬레이션 이 문제에서 2가지 포인트만 알면 됩니다..1. 각 파이프마다 이동할 수 있는 방향이 정해져 있다는 것2. 정해진 방향으로 넘어가더라도 넘어간 파이프의 모양이 연결되어 있지 않다면 실제로 넘어갈 수 없다. 이 2가지를 조건을 걸어서 필터를 해줘야합니다.. 아래는 전체소스 입니다. package SWE; import java.awt.Point; import java.io.BufferedReader; import java.io.IOExcepti..
백준 BFS 문제#16236- 아기상어 https://www.acmicpc.net/problem/16236 사용한 개념 BFS개념을 사용했고, 문제 안에 있는 단계적인 스텝은 시뮬레이션으로 구현했습니다. 시뮬레이션이라고 하면, for문 if문 등 조건/반복문을 열심히...코딩해서 구현하는 것을 뜻합니다 ㅎㅎ...음..해당 문제에서 주어지는 요구사항을 저는 아래의 메커니즘으로 구현했습니다. 1. 먹을 수 있는 물고기를 전부 일괄 저장해논다!2. 먹을 수 있는 물고기들끼리 가장 먼저 우선해서 먹어야할 하나의 물고기만 선별! (선별조건은 문제에 있습니다.)3. 물고기 먹은 횟수 증가 및 나이를 증가해야하는지 여부 체크!4. 먹을 물고기 위치에서 다시 상어를 위치시키고, 1번 스텝 반복! 여기서 이동할 때 포인..
안녕하세요. Limky 입니다. 이번시간에는 경우의 수 중에 순열에 대해서 알아보겠습니다. 헌데, 순열은 순열이지 왜 중복순열이라고 했을까요?? 당연 중복순열과 중복되지 않는 순열은 조금 다릅니다. 자기자신을 포함하냐 안하냐에 따라 순열과 중복순열로 구분합니다! 예제를 들어 설명해보겠습니다. 여기 구슬 3개가 있습니다. 1, 2, 3 중복이 없는 순열은 자기자신을 제외하고 모든 경우의 수를 생각하는 것입니다. 3개의 구슬중에 2개를 뽑는 경우의 수는 아래와 같습니다. 1, 2 1, 3 2, 1 2, 3 3, 1 3, 2 입니다. 총 3 X 2 = 6가지 이지요? 하지만!! 중복순열은 다릅니다. 자기자신을 포함하죠.... 똑같이 구슬 3개가 있습니다. 1, 2, 3 중복을 허용해서 뽑으면 아래와 같습니다...
백준 BFS 문제#3055- 탈출 https://www.acmicpc.net/problem/3055 사용한 개념 BFS개념을 사용했습니다.문제에서의 포인트는 다음과 같습니다. 한 단계씩 시간이 지날 때마다 고슴도치는 한칸 이동할 수 있고, 물은 상하좌우 4방향 중 물이 넘칠 수 있는 곳에 넘칩니다. 여기서 중요한 것은 물이 한단계 이후에 넘칠 위치는 고슴도치가 이동 할 수 없다는 것이 포인트 입니다. 자 아래 2가지만 명심하면 문제는 쉽습니다. 1. DFS를 통해 단계가 진행될 때, 고슴도치, 물 이 움직일 수 있는 조건들을 생각해 코딩합니다.2. 여기서 물이 한단계 이후 넘칠 공간에는 고슴도치가 이동할 수 없기 때문에 물을 먼저 넘치게하고 그다음! 고슴도치가 움직이는 매커니즘으로 작동하게 한다!! 여기..