| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 개발
- dfs
- 재귀함수
- 삼성sw문제
- 네트워크
- 너비탐색
- 모바일
- 데이터베이스
- Java
- 프로그래머스
- CKLU
- 다이나믹 프로그래밍
- Android
- 익명객체
- 언더라이터
- 자바
- 익명클래스
- 백준
- 알고리즘
- 금융IT
- IT
- 삼성SW테스트
- dp
- BFS
- 안드로이드
- 조합
- Today
- Total
목록전체 글 (237)
Limky 삽질블로그
백준 조합 문제 #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..
JAVA 조합,중복조합,순열,중복순열 소스 이번 시간은 JAVA로 조합, 중복조합, 순열, 중복순열을 알아보겠습니다. 기본적으로 4개 모두 재귀호출을 통해 구현할 수 있습니다. 먼저 순열은 순서있게 배열한다는 뜻으로 순서와 상관있습니다. 조합은 순서와 상관없이 뽑는 거에만 집중합니다. 여기서 중복이 붙고 안붙는 차이는 자기자신을 포함하냐 안하냐에 차이입니다. package CASEOFNUMBER; import java.util.LinkedList; import java.util.Scanner; public class CaseOfNumber { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.ne..
이번시간에는 배열복사에 대해서 알아보겠습니다. 복사엔 깊은복사, 얕은복사 이렇게 2개가 있습니다. 얕은복사는 복사된 배열이나, 원본배열이 변경될 때, 함께 변경됩니다. 깊은복사는 완벽하게 2개의 배열은 따로 존재한 지정한 의미에 복사입니다. 일반적으로 = 연산자는 얕은복사입니다. 얕은복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경되는 것이지요.. 하지만, 깊은복사는 주소값을 참조하는것이 아닌, 새로운 메모리공간에 값을 복사하는 것이기 때문에 원본 배열이 변경되어도 복사된 배열에 전혀 상관이 없습니다. 그렇다면 깊은복사를 어떻게 할까요? 1차원배열에 경우 간단하게 array.clone() 함수를 쓰면 됩니다. 하지만 2차원 배열에 경우 arr..
백준 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. 여기서 물이 한단계 이후 넘칠 공간에는 고슴도치가 이동할 수 없기 때문에 물을 먼저 넘치게하고 그다음! 고슴도치가 움직이는 매커니즘으로 작동하게 한다!! 여기..
백준 BFS 문제 #1697- 숨바꼭질 https://www.acmicpc.net/problem/1697 사용한 개념 BFS개념를 응용했습니다. 우선 방문한 곳은 check 1차원 배열로 방문여부를 체크하여 방문하지 않은 곳만 방문을 하게끔 만들고, BFS 을 통해 방문하지 않은 곳을 계속해서 탐색하도록 합니다. 여기서 포인트는 방문할 때마다 몇번만에 해당 탐색지점에 왔는지 카운트를 해주는 것입니다. *2에서 5를 찾는 경우 예를 들어 2번에서 시작한다고 치고, 2번에서 *2를 해 4번으로 갔다면, 처음 2번에는 카운트 0을 저장하고 4번에 카운트는 0+1 = 1 입니다. 다음 4번에서 +1을 했다면 5번에는 카운트 0+1+1 = 2 입니다. 이런식으로 2에서 시작해 5번으로 도착할때 카운트는 결국 카운..