https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 각 큐의 합이 더 작은 큐에 원소를 추가하는 작업을 반복한다. q1과 q2가 있을 때 각 큐의 원소 합을 같게 만들어가는 과정은 위와 같다. q1과 q2 각 합을 비교하여, 합이 더 작은 쪽에 큰 큐의 첫 번째 원소를 더해주는 작업이 반복된다. 그러다가 두 큐의 원소 합이 똑같아지면, 반복 작업을 종료하면 된다. 위 그림의 경우 2번의 작업으로 각 큐의 원소 합이 같아졌다. 각 ..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 연산자 우선순위는 expression 문자열에 있는 연산자 간 순열로 표현하자. 예를 들어 expression이 "50*6-3*2"이라면 여기에는 '*', '-' 2개의 연산자가 존재한다. 그럼 이 2개의 연산자로 순열을 구하면 [ ('-', '*'), ('*', '-') ] 이러하다. 첫 번째는 -가 우선순위가 높을 때이고, 두 번째는 *이 우선순위가 높을 때를 나타내는 각각의 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 닉네임은 변경될 수 있으므로, 불변하는 아이디로 출력 메시지를 완성한 이후에 아이디를 닉네임으로 교체하자. 따라서 코드는 크게 (1) 아이디로 메시지를 생성하는 부분과 (2) 메시지 내 아이디를 닉네임으로 교체하는 부분으로 나뉜다. (2) 과정에서 아이디에 해당하는 닉네임을 찾을 수 있도록 key가 아이디이고, value가 닉네임인 users 딕셔너리를 생성할 필요가 있다. use..
https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 새 원소를 추가하면 맨 마지막 원소로 추가되는 cache 리스트를 사용하자. LRU 알고리즘은 캐시에 존재하는 페이지 중 가장 옛날에 사용된 페이지를 교체하는 페이지 알고리즘이다. cache 리스트에 append( )로 새로운 페이지를 추가하면, 현재 페이지가 마지막 인덱스로 추가된다. 즉, 최근에 사용한 페이지일수록 cache의 뒤쪽에 위치한다. 이 말은 곧 가장 예전에 사용된 ..