각 노드의 값이 0~9 사이인 Linked List 두 개가 주어진다. 리스트 안의 값들은 역순으로 저장이 되어 있다. 두 리스트 속의 노드의 합을 새로운 Linked List에 저장하면 된다. 역순으로 저장이 되어있기 때문에 받아올림이 발생할 경우 뒤에 오는 값에 올
Dividend, Divisor 두 Integer 값을 나누면 되는 간단한 문제이다. 하지만, multiply, divide, percent operation을 사용하면 안되는 제약 조건이 있다. 결과 값으로는 나눈 값의 몫을 출력한다.Input: dividend =
L1과 L2의 값을 Stack처럼 꺼내 Integer로 저장한다.결과로 나온 두 Integer를 더한다.두 Integer의 합에서 각 자리 수를 가져와 ListNode로 만들어준다.코드가 이전 코드에 비해 약간 길다. (30줄 vs 40줄)Time Complexity면
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “(
입국심사는 심사시간이 다른 m명의 심사위원이 n명의 사람들을 심사하여 모두 통과시키는데 걸리는 최소 시간을 찾는 문제이다.이분 탐색을 이용하여 최소 시간을 구한다. 주의할 점은, 이분탐색의 오른쪽에 최대 시간을 잡는 과정이다. 문제의 제한조건은 다음과 같다. n명의