코딩 테스트/Java 문제 풀이

1. 문제2. 풀이 과정처음엔 그냥 무작정 리스트에 1~N까지 넣어놓고 넣다 뺐다 했다.하지만 이렇게 하면 코드가 상당히 복잡해진다...  리스트로 구현 했을 때 가장 어려웠던 점은 기준이 되는 사람과 삭제될 사람의 위치 차이였다. 리스트는 선형으로 구성되어 있기 때문에 끝쪽 인덱스에 있는 사람이 기준이 되면 삭제할 사람을 찾을 때 다시 리스트 처음으로 돌아와 삭제할 사람을 찾아야 한다.말로만 들으면 그냥 나머지 연산으로 해결하면 될 것 같지만 막상 구현해보니 따져야할 케이스가 많았고 이로인해 코드가 상당히 복잡해졌다. 그래서 리스트를 재구성해 삭제될 사람이 항상 리스트의 맨 앞에 위치하게 끔 하는 건 어떨까 생각했다. 기준이 되는 사람을 리스트에 제일 앞에 오게 해서 이 사람부터 하나씩 삭제하고 다시 ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정사악한 입력크기를 보니 효율성을 엄청 따져야 할 것 같은 문제라는 생각이 들었다. 게다가 이문제는 레벨3문제...일단 저 표의 상태를 어떻게 저장할지를 고민했다. 그래도 일단 쉽게 생각했다.N 크기의 배열을 만들어 데이터가 있으면 True, 없으면 False데이터가 삭제되면 True --> False데이터가 복구되면 False --> True삭제된 데이터를 저장할 저장소는 복구시 가장 최근의 삭제된 데이터를 불어와야 하므로  스택모든 명령어를 다 끝낸 뒤 그 배열을 보고 True이면 O, ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정문제 분석board는 N X N의 크기이고 크레인은 1~N 사이 중 한 곳에서 인형을 뽑아 바구니에 쌓는다.1 - 5 - 3 - 5 순으로 인형을 뽑는다고 한다면 다음과 같이 바구니에 들어가게 되는데 이 경우 인형1이 연속 두 번 나오므로 이 인형 두개는 동시에 사라진다.문제 해결나는 인형을 바구니에 차곡차곡 쌓고 같은 인형이 두 번 나오면 그 인형을 바구니에서 꺼낸다는 특징을 보고 스택을 떠올렸다.인형을 뽑고 바구니가 비어있거나  바구니 맨 위에 인형이 뽑은 인형과 같지 않다면 스택에 넣..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정이 문제는 언뜻보면 쉬워보이는 문제이다. 하지만 이 문제의 핵심은 최대 입력 크기가 10만이라는 점이다. 즉, O(N^2)으로는 풀 수 없다는 뜻이다. O(N^2)으로 풀이 시 그냥 이중 for문을 사용하면 쉽게 구현할 수 있지만 이 문제는 O(N)으로 풀어야 한다.그렇다면 어떻게 O(N)으로 구현할 수 있을까?일단 이 문제를 확실하게 이해하고 갈 필요가 있다.우선 결과 배열의 각 인덱스 값이 어떻게 결정되는지를 파악해야 한다. 이 문제의 핵심은 중간에 가격하락이 발생하는 경우이다. 위 예..
jaehee1113
'코딩 테스트/Java 문제 풀이' 카테고리의 글 목록 (10 Page)