본문 바로가기

알고리즘 풀이

[C언어] 1614. Maximum Nesting Depth of the Parentheses https://leetcode.com/problems/maximum-nesting-depth-of-the-parentheses/ 알고리즘보다 C언어 이해도를 높이고자 문제를 풀어봤다. 포인터에 대한 이해가 필요할 듯 하다. 더보기
[LeetCode] 416. Partition Equal Subset Sum https://leetcode.com/problems/partition-equal-subset-sum/ Partition Equal Subset Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 못풀었다. 참고: https://withhamit.tistory.com/482 [leetcode][416] Partition Equal Subset Sum 문제 : leetcode.com/problems/partition-equal-subset-sum/ 양의 정수.. 더보기
[LeetCode] 61. Rotate List https://leetcode.com/problems/rotate-list/ Rotate List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이렇게 풀면 안된다.. 다시 풀어보자. /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null :.. 더보기
[LeetCode] 71. Simplify Path https://leetcode.com/problems/simplify-path/ Simplify Path - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 유닉스에서 파일 path 구문을 만들어주는 코드를 구현하는 문제 같았다. stack이라고 힌트를 주어서 쉽게 풀 수 있었다. /** * @param {string} path * @return {string} */ var simplifyPath = function(path) { const pathParsedLi.. 더보기
[LeetCode] 푸는중 103. Binary Tree Zigzag Level Order Traversal https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Binary Tree Zigzag Level Order Traversal - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 허어 꽤나 틀리네.. 낼 다시 풀어보자. 더보기
[자료구조] Linked List (연결 리스트) 개요 연결 리스트, 링크드 리스트라고 부름. 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 노드의 포인터가 다음이나 이전의 노드와 연결을 담당하게 된다. 종류로는 단일 연결 리스트, 이중 연결 리스트 등이 있다. 장점 자료의 추가와 삭제가 O(1)의 시간에 가능하다. 단점 특정 위치의 데이터를 검색해 내는데 O(n)의 시간이 걸린다. 사용하는 곳 연결 리스트를 발전시켜 사용하는 곳은 많은데, 라이브러리에서 사용하거나 (특히 JS) 스택이나 큐처럼 사용하는 곳이 명확하게 나와있지가 않다. 찾기가 힘들다. 참고자료 https://ko.wikipedia.org/wiki/%EC%97%B0%EA%B2%B0_%EB%A6%AC%EC%8A%A4%ED%8A%B8 연.. 더보기
[자료구조 학습] 1. Linked List 정리 1. List란? - 일단 리스트란, 데이터를 일직선으로 나열한 형태. 데이터의 추가나 삭제는 쉽지만, 원하는 데이터에 접근하려면 시간이 많이 걸린다. - 리스트에서는 데이터가 메모리상의 연속된 위치에 저장하지 않아도 되며, 보통 떨어져 있음. - 흩어져 저장되어 있으므로 포인터를 처음부터 순서대로 따라가야만 원하는 데이터 접근 가능. - 데이터 추가는 추가할 위치의 앞뒤 포인터를 변경만 하면 되므로 간단하다. 2. Linked List는 List의 구현체 - 일반적으로 그 구조체와 포인터로 구현된다. - 다음 노드의 주소가 하나라도 잘못되면 전체를 못쓰기 때문에 안정적인 구조는 아니다. 나무위키에 설명이 잘 되어 있다. namu.wiki/w/%EC%97%B0%EA%B2%B0%20%EB%A6%AC%EC%.. 더보기
[2020 KAKAO BLIND RECRUITMENT] 괄호 변환 (with Javascript) https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 이 문제는 2020 카카오 블라인드 채용에서 1차 코딩테스트로 나온 문제이다. 나는 아래와 같은 단계로 풀었다. 1. 올바른 괄호 문자열 확인하는 함수 작성 2. 균형잡힌 괄호 문자열인지 확인하는 함수 작성 3. 그리고 나머지 문제 자체에서 설명하는대로 로직 작성 문제 보면 로직을 친절하게도 하나하나 다 설명해줘서 1. 문자열 압축 문제보다 쉬웠던 것 같다. 1.. 더보기
[종만북] 소풍 찾아봤는데 자바스크립트 코드는 없네. 일단 책보고 자바스크립트로 변환한 것만 쓰고 내가 왜 못풀었는지, 책에 나와있는 내용을 설명하는건 나중에 하자 // let n = 4; // let array = [ // [false, true, true, true], // [true, false, true, true], // [true, true, false, true], // [true, true, true, false] // ] let n = 6; let array = [ [false, true, true, false, false, false], [true, false, true, true, true, false], [true, true, false, true, true, false], [false, true,.. 더보기
[leetcode] 펠린드롬 https://leetcode.com/problems/palindrome-number/ Palindrome Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com string으로 바꾼다음 reverse 이용해서 풀었는데, 문제는 팔로업에 정수를 문자열로 변경하지 않고 풀수 있는지 물어보았다. 뭔가 풀수는 있을것 같은데 한번 찾아봐야 할것. 더보기