Algorithm 17

[백준] 10828번 : 스택 (JAVA)

바로 전에 스택을 공부한 뒤, 그 내용을 바탕으로 스택 문제 1번인 10828번 : 스택 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 스택을 이용하여 push (number) -> stack에 number를 push pop -> stack의 맨 위 수를 pop / 없을 경우 -1 size -> sta..

백준 2023.01.09

[백준] 1931번 : 회의실 배정 (JAVA)

그리디 알고리즘 관련 문제인 11047번 : 동전 0 을 풀고 다음으로 1931번 : 회의실 배정 문제를 풀었다. 그리디 알고리즘에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/12 [알고리즘] 그리디 알고리즘 (Greedy Algorithm) 💡그리디(탐욕) 알고리즘 (Greedy Algorithm)이란? - Greedy는 '탐욕스러운, 욕심많은' 이란 뜻이다. - 탐욕 알고리즘은 말 그대로 선택의 순간마다 당장 눈 앞에 보이는 최적의 상황만을 쫓아 최종적인 lucy1215.tistory.com 바로 앞 문제인 11047번 : 동전 0에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.c..

백준 2023.01.06

[백준] 11047번 : 동전 0 (JAVA)

그리디 알고리즘에 대해 공부한 뒤, 그리디 알고리즘 관련 첫번째 문제인 11047번 : 동전 0 을 풀었다. 그리디 알고리즘 에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/12 [알고리즘] 그리디 알고리즘 (Greedy Algorithm) 💡그리디(탐욕) 알고리즘 (Greedy Algorithm)이란? - Greedy는 '탐욕스러운, 욕심많은' 이란 뜻이다. - 탐욕 알고리즘은 말 그대로 선택의 순간마다 당장 눈 앞에 보이는 최적의 상황만을 쫓아 최종적인 lucy1215.tistory.com 그리디 알고리즘을 이용하여 k원을 만드는데 동전의 최소 갯수를 구하라. 이 문제는 그리디 알고리즘만 이해하고 있으면 쉽게 풀 수 있는 문제라고 ..

백준 2023.01.06

[백준] 14889번 : 스타트와 링크 (JAVA)

저번에 삼성 SW 역량 테스트 기출문제 1번인 "연산자 끼워넣기" 문제에 이어서 이번에는 기출문제 2번인 "스타트와 링크" 문제를 풀었다. 백트래킹에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/3 알고리즘 - 백트래킹(Backtracking) DFS와 백트래킹 깊이 우선 탐색(DFS) DFS는 가능한 모든 경로(후보)를 탐색한다. 장점 : 무한히 깊은 곳을 찾아야할때 효과적이다. 단점 : 모든 곳을 방문하기 때문에 굳이 목표지점이 있지 않는 경 lucy1215.tistory.com 바로 앞 문제인 14888번 : 연산자 끼워넣기에 대한 내용은 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/13 ..

백준 2023.01.05

[백준] 14888번 : 연산자 끼워넣기 (JAVA)

이번에는 백트래킹 문제 중 삼성 SW 역량 테스트 기출문제 1번인 "연산자 끼워넣기" 문제를 풀었다. 백트래킹에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/3 알고리즘 - 백트래킹(Backtracking) DFS와 백트래킹 깊이 우선 탐색(DFS) DFS는 가능한 모든 경로(후보)를 탐색한다. 장점 : 무한히 깊은 곳을 찾아야할때 효과적이다. 단점 : 모든 곳을 방문하기 때문에 굳이 목표지점이 있지 않는 경 lucy1215.tistory.com 바로 앞 문제인 2580번 : 스도쿠 에 대한 내용은 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/10 [백준] 2580번 : 스도쿠 (JAVA) 저번..

백준 2023.01.05

[알고리즘] 그리디 알고리즘 (Greedy Algorithm)

💡그리디(탐욕) 알고리즘 (Greedy Algorithm)이란? - Greedy는 '탐욕스러운, 욕심많은' 이란 뜻이다. - 탐욕 알고리즘은 말 그대로 선택의 순간마다 당장 눈 앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방식이다. - 탐욕 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법이다. - 탐욕 알고리즘은 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. - 순간마다 하는 선택은 그 순간에 대해 지역적으로는 최적이지만, 그 선택들을 계속 수집하여 최종적(전역적)인 해답을 만들었다고 해서, 그것이 최적이라는 보장은 없다. - 하지만 탐욕 알고리즘을 적용할 수 있는 문제들은 지역적으로 최적이면서..

알고리즘 2023.01.04

[알고리즘] 백트래킹(Backtracking)

DFS와 백트래킹 깊이 우선 탐색(DFS) DFS는 가능한 모든 경로(후보)를 탐색한다. 장점 : 무한히 깊은 곳을 찾아야할때 효과적이다. 단점 : 모든 곳을 방문하기 때문에 굳이 목표지점이 있지 않는 경로로 빠져서 비효율적인 결과를 초래할수도 있다. =>따라서, 불필요할 것 같은 경로를 사전에 차단하거나 하는 등의 행동이 없으므로 경우의 수를 줄이지 못한다. DFS의 비효율적인 경로를 차단하고 목표지점에 갈 수 있는 가능성이 있는 루트를 검사하는 방법이 백트래킹 알고리즘 이다! 백트래킹(Backtracking) 해를 찾아가는 도중, 지금의 경로가 해가 될 것 같지 않으면 그 경로를 더이상 가지 않고 되돌아 간다. 코딩에서는 반복문의 횟수를 줄일 수 있어 효율적이다. 불필요한 부분을 쳐내고 최대한 올바른..

알고리즘 2023.01.01