백준알고리즘
-
이번에 백준 14888번 연산자 끼워넣기라는 문제를 몇달전에 풀었었다가 이번에 2번째로 다시 풀어보았습니다. 그때 보다는 알고리즘 푸는 실력이 좀 늘었다 생각하고 풀었는데 속도가 훨씬 늦게나온거에요 그래서 코드 어느부분이 다른거지??? 하고 봤는데 기본 로직은 거의 같았습니다. 그래서 이것 저것 코드를 넣었다 뺐다 해보면서 깨달은 것이 있었습니다. 예전 코드는 ArrayList의 최대 최소 값을 구하기 위해서 Collections.max와 Collections.min을 사용했었습니다. 이번에 사용한 느린 코드는 Collections.sort를 통해 sorting을 하고 0번째와 마지막 index를 참조하여 최대 최소를 구했습니다. 다음과 같이 말이죠 // 최댓갑 구하기 // sorting하고 마지막 인덱..
자바 Collections.sort를 이용한 최대,최소 값과 Collections.min,max 속도 비교이번에 백준 14888번 연산자 끼워넣기라는 문제를 몇달전에 풀었었다가 이번에 2번째로 다시 풀어보았습니다. 그때 보다는 알고리즘 푸는 실력이 좀 늘었다 생각하고 풀었는데 속도가 훨씬 늦게나온거에요 그래서 코드 어느부분이 다른거지??? 하고 봤는데 기본 로직은 거의 같았습니다. 그래서 이것 저것 코드를 넣었다 뺐다 해보면서 깨달은 것이 있었습니다. 예전 코드는 ArrayList의 최대 최소 값을 구하기 위해서 Collections.max와 Collections.min을 사용했었습니다. 이번에 사용한 느린 코드는 Collections.sort를 통해 sorting을 하고 0번째와 마지막 index를 참조하여 최대 최소를 구했습니다. 다음과 같이 말이죠 // 최댓갑 구하기 // sorting하고 마지막 인덱..
2020.02.10 -
BOJ 3190번 뱀(snake) 문제 자바(java) 풀이 랭크 : 실버 1 백준 온라인 저지(BOJ) 3190번 뱀(snake) 문제 자바 풀이 백준3190번 뱀 코드 저는 푸는데 1시간 좀 넘게 걸렸어요 아래의 깃허브를 참고해주세요!! 백준3190번 뱀 문제이해 시작시 뱀은 맨위 맨 좌측에 위치. 처음에 오른쪽으로 향하며 초기 뱀의 길이는 1이다. 몸길이를 늘려 머리를 먼저 다음 칸에 가져다 댄다. if 사과 exists: 사과 없어지고 꼬리는 움직이지 않음 ( 몸 길이 늘어남 ) if !사과 exsists: 몸 길이를 줄여 꼬리가 위치한 칸을 비워줌 ( 몸 길이 그대로 ) 게임이 끝나는 시간 계산하기 ( 벽 또는 자기자신의 몸과 부딪히면 게임 끝) 벽은 상하좌우 끝에 있다. 문제 풀이 뱀 초기 위..
[백준 알고리즘(BOJ)] 3190번 뱀 자바(java) 풀이BOJ 3190번 뱀(snake) 문제 자바(java) 풀이 랭크 : 실버 1 백준 온라인 저지(BOJ) 3190번 뱀(snake) 문제 자바 풀이 백준3190번 뱀 코드 저는 푸는데 1시간 좀 넘게 걸렸어요 아래의 깃허브를 참고해주세요!! 백준3190번 뱀 문제이해 시작시 뱀은 맨위 맨 좌측에 위치. 처음에 오른쪽으로 향하며 초기 뱀의 길이는 1이다. 몸길이를 늘려 머리를 먼저 다음 칸에 가져다 댄다. if 사과 exists: 사과 없어지고 꼬리는 움직이지 않음 ( 몸 길이 늘어남 ) if !사과 exsists: 몸 길이를 줄여 꼬리가 위치한 칸을 비워줌 ( 몸 길이 그대로 ) 게임이 끝나는 시간 계산하기 ( 벽 또는 자기자신의 몸과 부딪히면 게임 끝) 벽은 상하좌우 끝에 있다. 문제 풀이 뱀 초기 위..
2020.02.09 -
BOJ 2636번 치즈 문제 자바(java) 풀이 랭크 : 골드5 백준 온라인 저지(BOJ) 2636번 치즈 문제 자바 풀이 백준 2636번 치즈 백준 2636번 치즈 코드 문제정리 이 문제에서 주어진 정사각형 칸은 크게 세가지 영역으로 나뉨을 이해한다. 바깥쪽 공기 (치즈를 녹임) 치즈 안쪽 공기 (치즈를 녹일 수 없음) 바깥 공기와 접촉된 치즈는 녹는다. 녹아서 안쪽 공기도 바깥과 연결 된다면 그 공기에 의해서도 치즈가 녹을 수 있다. 치즈가 모두 녹아 없어지는데 걸리는 시간과 모두 녹기 전 치즈의 수를 구한다 문제풀이 bfs나 dfs를 이용하여 문제를 풀 수 있습니다. 이 문제는 구역을 나누는게 핵심입니다. dfs를 통해 치즈가 아니거나 바깥 공기인 경우 3으로 바꿔준다. dfs2를 통해 바깥공기(..
[백준 온라인 저지(BOJ)] 2636번 치즈 문제 자바(java) 풀이BOJ 2636번 치즈 문제 자바(java) 풀이 랭크 : 골드5 백준 온라인 저지(BOJ) 2636번 치즈 문제 자바 풀이 백준 2636번 치즈 백준 2636번 치즈 코드 문제정리 이 문제에서 주어진 정사각형 칸은 크게 세가지 영역으로 나뉨을 이해한다. 바깥쪽 공기 (치즈를 녹임) 치즈 안쪽 공기 (치즈를 녹일 수 없음) 바깥 공기와 접촉된 치즈는 녹는다. 녹아서 안쪽 공기도 바깥과 연결 된다면 그 공기에 의해서도 치즈가 녹을 수 있다. 치즈가 모두 녹아 없어지는데 걸리는 시간과 모두 녹기 전 치즈의 수를 구한다 문제풀이 bfs나 dfs를 이용하여 문제를 풀 수 있습니다. 이 문제는 구역을 나누는게 핵심입니다. dfs를 통해 치즈가 아니거나 바깥 공기인 경우 3으로 바꿔준다. dfs2를 통해 바깥공기(..
2020.02.07 -
안녕하세요 호호만두에요 이번에는 백준 알고리즘 15649번 N과 M (1) 문제에요 N과M 문제는 워낙 많아서 문제집으로도 만들어져있는데요 이번에 다 풀었어요!! 그 중에 제일 베이스가 되는 기본 문제인 15649번 N과 M 풀이 해보려구요 https://www.acmicpc.net/problem/15649 불러오는 중입니다... 이 문제는 백 트래킹을 이용하면 되는 문제에요 저는 재귀로 순열을 구해서 만들었어요 우선 배열에 1부터 n까지의 숫자를 담았어요 그리고 이 값을 가지고 재귀를 통해 모든 경우의 수를 따져주었어요 이때 '1 2'도 되고 '2 1'도 되기 때문에 순열을 찾아주면 됩니다 배열의 앞쪽 인덱스 부터 가능한 순열을 모두 찾으면 답이에요 배열을 순회하면서 output이라는 배열에 순열을 담..
[백준 알고리즘] 15649번 N과 M (1) (백트래킹)안녕하세요 호호만두에요 이번에는 백준 알고리즘 15649번 N과 M (1) 문제에요 N과M 문제는 워낙 많아서 문제집으로도 만들어져있는데요 이번에 다 풀었어요!! 그 중에 제일 베이스가 되는 기본 문제인 15649번 N과 M 풀이 해보려구요 https://www.acmicpc.net/problem/15649 불러오는 중입니다... 이 문제는 백 트래킹을 이용하면 되는 문제에요 저는 재귀로 순열을 구해서 만들었어요 우선 배열에 1부터 n까지의 숫자를 담았어요 그리고 이 값을 가지고 재귀를 통해 모든 경우의 수를 따져주었어요 이때 '1 2'도 되고 '2 1'도 되기 때문에 순열을 찾아주면 됩니다 배열의 앞쪽 인덱스 부터 가능한 순열을 모두 찾으면 답이에요 배열을 순회하면서 output이라는 배열에 순열을 담..
2020.01.23 -
이 문제는 난이도가 조금 있다고 생각해요 처음에 어떻게 풀어야 될까 고민을 좀 많이 했어요 코드만 본다면 어려워 보이진 않지만 그동안 풀었던 브루트 포스 문제랑은 조금 달랐어요 cctv마다 방향을 4가지 바꿔서 돌려줘야 했기 떄문이었어요 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감..
[백준 온라인 저지(BOJ), 브루트 포스] 삼성 코딩 테스트 문제 :: 15683번 감시 자바 풀이이 문제는 난이도가 조금 있다고 생각해요 처음에 어떻게 풀어야 될까 고민을 좀 많이 했어요 코드만 본다면 어려워 보이진 않지만 그동안 풀었던 브루트 포스 문제랑은 조금 달랐어요 cctv마다 방향을 4가지 바꿔서 돌려줘야 했기 떄문이었어요 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감..
2019.10.28 -
안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
[백준 알고리즘, 다이나믹 프로그래밍] 삼성 코딩 테스트 문제 기출 :: 14501번 퇴사 자바 풀이안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
2019.10.26