문제를 풀다보면 나는 정작 힘들게, 무식하게 어렵사리 풀어내지만 다른 사람들은 짧고 간결하게 한줄짜리 코드로 문제를 끝내곤 한다. 그 분들이 다양한 함수를 알고 있기에 가능한 풀이이고, 나도 처음엔 '아 내가 부족하구나'싶기만 했다. 그리고 또 그런 방향으로만 연습해 나갔다. 그런데 어느날 누군가 '출제자들이 정말 저런 풀이를 보고싶어서 낼까?' 라고...
문제 직관적 풀이 간결화 참고할만한 풀이 대부분 비슷하게 푸셨지만, sort()후 첫 값과 마지막 값만 가져오는 방법도 보인다.
https://leetcode.com/problems/two-sum/description/ 직관적인 풀이 새롭거나 신기한건 없는거 같다. 문제 조건에 두 수의 합이 타겟이 되는 조합이 하나밖에 없기에, 두 수를 뽑아 더해 타겟과 대조한다. 다른 풀이 내 방식은 시간 복잡도가 조금 크다는 단점이 있다. 이것을 사람들은 dict을 통해 탐색시간을 줄여나간...
직관적 풀이 이분 탐색을 이해하고 있다면 간단히 읽을수 있다.
283\. Move Zeroes보자마자 투포인터라는 생각을 했는데 생각보다 구현이 바로 되진 않았다.아직은 좀 익숙하지 않은듯?간단하게 풀자면 정말 간단하다.인덱스 별로 도는데 0을 마주치면 pop하고 append(0)를 해주는 방식이다.그래도 투포인터로 푸는게 맞겠다
167\. Two Sum II - Input Array Is Sorted또 다른 투포인터 문제. 이건 아예 패스하지 못했다..end 포인터를 전진시키면서 sum이 target보다 클때만 start를 땡기는 방식을 생각했었는데, 이렇게 하는게 아닌가보다.투포인터 접근 방
344\. Reverse String계속되는 투포인터 연습.아주 직관적이고 간단한 예제.
557\. Reverse Words in a String III아직 투포인터라고 써져있는데도 투포인터로 접근을 못하겠다ㅋㅋㅋㅋsplit()함수를 이용해서 단어들을 space기준으로 나눠주고 뒤집어주며 마지막에 join으로 다시 다 합치는 방식이다.힌트를 참고해서 투포인
19\. Remove Nth Node From End of List투포인터의 난이도가 올라간다.짧게 문제를 설명하자면, linked list에서 두에서 n번째 노드를 제거한 리스트를 반환하라는 아주 간단한 문제이다.문제 접근이 어려워서 한 30분 고민하다 힌트를 봤는데
733\. Flood FillDFS/BFS 문제 시작!기본적인 문제인데, 배운지 좀 되서 구현하는데 어려움이 있었다. 차근히 연습하면서 깎아보려고 한다.deque를 이용한 BFS를 선호하는 편인데, recursion 대신 iteration을 이용해서 제한이 없기 때문이
Leethub로 풀이를 깃헙에 바로 올리려 했는데, 잘 안되서 백준으로 갈아탔다ㅋㅋ다행히 백준허브는 잘 작동 되는듯.계속 DFS&BFS 위주의 문제를 보고있다.예전에도 풀었지만 새로운 방법으로 접근해보려고 한다.사실 BFS&DFS 라는 큰 틀은 벗어나지 않지만, 접근하
문제링크: K번째 수참고: https://hongcoding.tistory.com/13다시 이진탐색으로.너무나도 간단한 방법으로 접근해 보았다.당연히 풀릴리 없지ㅋㅋㅋ메모리 초과가 뜬다.문제에서 보면 size가 10^5라 array를 만들어서 다 저장하기에는
문제링크: https://www.acmicpc.net/problem/1012아주 기초적인 트리탐색 문제. 전형적인 DFS/BFS로 풀 수 있다.다만, 내가 실수한건지, 문제 조건인건지, dfs는 recursion error가 나서 bfs로 다시 해봤다.처음 d
문제링크: https://www.acmicpc.net/problem/9093LeetCode에서 같은 문제를 풀어봤는데, 그때는 투포인터 문제로 접한것 같다.이번엔 구현문제로 풀어봤는데, 확실히 내장함수 쓸때가 편하다ㅋㅋㅋ별거없이, split()후 저장된 단어마
문제링크: https://leetcode.com/problems/group-anagrams/문제는 간간히 풀었지만, 포스팅을 하면서 정리하는건 정말 오랜만인것 같다.다사다난했던 1월은 뒤로하고, 2월엔 진짜 매일 포스팅을 목표로 가야겠다.문제로 돌아와서,내가
문제링크: https://leetcode.com/problems/trapping-rain-water/다시 투포인터 문제다.hard라길래 조금 시간을 투자해서 풀어보았다. 첫 트라이는 이렇게 했는데, 당연히 잡지 못하는 곳이 발생한다. 계속 고민했지만, 투포
문제링크: https://leetcode.com/problems/container-with-most-water/계속되는 투포인터 파기이번엔 미디엄 문제여서인지, 조금은 쉽게 푼 느낌이다. 지금까지는, 투포인터가 두개로 나뉘는것 같다. 포인터 둘다 한곳에서 시작
문제링크: https://leetcode.com/problems/best-time-to-buy-and-sell-stock/릿코드에 비슷한 문제가 4개나 더 있어서, 아마도 오늘은 이 유형만 포스팅하지 않을까 싶습니다.문제를 살펴보자면, 어떤 주식의 가격이 리스
문제링크: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/전에 풀었던 주식 문제와 똑같지만, 전의 문제는 수익을 낼 수 있는 기회가 한번이라면, 이번 문제는 자유롭게 사고 파는게 가능합니다.
문제링크: https://leetcode.com/problems/implement-stack-using-queues/스택을 이용한 큐 구현 문제입니다. 앞으로 기본적인 자료구조를 정리 해볼 생각입니다.스택을 이용해서 큐의 특성을 구현하는 문제입니다. push,
문제링크: https://leetcode.com/problems/implement-queue-using-stacks/submissions/전 포스팅의 반대인 스택을 이용한 큐 구현입니다. 스택은 하도 많이쓰는 구조여서 충분히 쉽게 구현 할 수 있을거 같습니다.
문제링크: https://leetcode.com/problems/design-circular-queue/원형 큐를 구현하는 문제다. 원형큐가 조금 생소한 개념인데, 간단하게 큐의 양단을 이어붙인 형태이다. 큐는 일정한 크기가 있는 자료구조인데, 푸시를 뒤로밖에
문제링크: https://www.acmicpc.net/problem/15649오랜만에 백준을 들어갔다가, 간단하지만 깊이있는 문제를 만나서 포스팅을 해보겠습니다. 여러가지 mutation이 있는 문제라 오늘은 아마 이 문제에 관한 포스팅만 올라갈것 같습니다.문
문제링크: https://www.acmicpc.net/problem/1565015649\. N과 M (1)15649번에 이은 n과 m 시리즈중 두번재 문제입니다. 여담으로 다른 블로그들을 찾아봤는데, 주로 삼성 코테에서 permuations와 combinati
문제링크: https://leetcode.com/problems/letter-combinations-of-a-phone-number/백준 문제중 n과 m 이라는 문제가 이 문제와 비슷한 구조여서 한번 가지고 와 보았습니다. 이 문제는 백준 문제보다 한단계 쉬운
문제링크: https://leetcode.com/problems/insertion-sort-list/요즘 포스팅을 잘 하지 못했는데, 핑계대기는 좀 그렇다. 걍 게을러서 안한거지 뭐ㅎㅎㅎ쓰는데 뭐 얼마나 걸린다고.오늘은 지금까지의 문제와는 조금 생소한 문제이다
그동안 여러 일들이 있어서 포스팅을 잠시 쉬었더니, 흐름을 놓친것 같습니다. 평소에 풀만한 문제를 아예 접근하지 못해서, 조금은 뒤로 물러나서, 웜업하는 의미로 기초적인 문제를 소개할까 합니다.이번 문제도 이해하기엔 전혀 어렵지 않습니다. 한 숫자열이 주어지고, 그 열
문제링크: https://www.acmicpc.net/problem/11660구간합 문제 Lv.5입니다!지난 포스트에서 소개한 Lv.4에서는 일차원 배열을 다루었지만, 이번 포스트에서는 2차원 배열을 다룹니다.똑같이 구간합을 구하면 되는데, 구간합을 잘 이해해
문제링크: https://www.acmicpc.net/problem/12891투포인터의 응용버전 슬라이딩 윈도우 입니다. 투포인터가 특정 조건에서만 한 포인터를 옮겨주었다면, 슬라이딩 윈도우는 매번 두 포인터가 같이 움직이면서 포인터간의 간격을 일정하게 유지합
문제링크: https://www.acmicpc.net/problem/17298이름이 근본이 없지만.. 스택과 정렬이 섞인 문제중 조금 생각해볼 거리가 있는 좋은 문제인거 같아서 풀어보았습니다.한 숫자열이 주어집니다. 그리고 각 인덱스마다 해당하는 오큰수를 찾으
문제링크: https://www.acmicpc.net/problem/2343이진탐색 문제입니다. 이진탐색은 보통 리스트 탐색에서 활용되는 알고리즘인데, 반대로 경우를 탐색하는 문제가 종종 보여서 대표로 하나 가져왔습니다.문제가 이해하기 조금 어렵습니다. 첫 줄
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/172928오랜만에 프로그래머스에 들어가봤는데, 문제가 많이 추가되어서 쉬운 문제 위주로 몇개 풀어보았습니다.이번 문제는 단순 구현에 가까운
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/154538BFS와 Memoization을 같이 활용한 문제입니다.x,y,n이 주어지고, x -> y 로 매핑을 하는데, 방법은 세가지가 있습니다
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/12927문제를 풀다가 오랜만에 heap문제가 나와서 포스팅해보겠습니다!숫자열과 숫자 n 이 주어집니다. n을 숫자열에 적절히 분배하고 빼서 숫자
오늘은 자바 내용 정리가 아닌 백준 문제 포스팅을 해보겠습니다. 알고리즘을 시작하면서 아마 이론 정리도 올리겠지만, 주로 문제 풀이를 더 올릴 것 같습니다.문제 링크: https://www.acmicpc.net/problem/10819어떤 N개의 원소를 갖는