목록프로그래머스 (11)
빠똥빠똥

#문제링크 : programmers.co.kr/learn/courses/30/lessons/12924 1. 먼저, n이 홀수인 경우, 무조건 n/2 + (n/2 + 1)인 경우가 존재한다. 즉, n -> ㅁ+ㅁ (ㅁ는 빈자리)형태로 표현가능하다. 2. 차근차근 생각해보자. 각 숫자의 자리를 ㅁ으로 표현하겠습니다. ⓐ 연속된 3개의 숫자의 합이 n일때, ㅁ(ㅁ)ㅁ -> 가운데 숫자는 n/3임이 자명하다. 괄호 안의 숫자 양 옆에 위치한 숫자 짝의 합 = 가운데 숫자 * 2 ⓑ 연속된 4개의 숫자의 합이 n일때, ㅁ(ㅁㅁ)ㅁ -> 괄호 안의 숫자와 양 옆에 위치한 숫자 짝의 합이 모두 같다. 그리고 그 합은 홀수임이 자명하다. ⓒ 연속된 5개의 숫자의 합이 n일때, ㅁ(ㅁ(ㅁ)ㅁ)ㅁ -> 가운데 숫자는 n/..

#문제링크 : programmers.co.kr/learn/courses/30/lessons/17680 1. 블로그를 참고했습니다. 2. 리스트와 맵을 이용하여 구현한다. 리스트는 들어온 문자열을 담는 실제 캐시의 역할, 리스트에서 임의의 값을 삭제하는 것은 가능하지만, 임의의 값을 찾는 것은 O(N)만큼의 시간이 걸린다. 왜냐하면, 순차적으로 내가 찾으려는 값과 같은 값인지 반복자를 하나씩 증가시켜가며 찾아야하기 때문. 따라서, 맵의 find 함수를 사용해서 더 수월하고 빠르게 찾기 위해 맵을 사용한다. 임의의 값을 찾는 행위가 필요한 이유는, 캐시에 새로들어오는 문자열이 캐시 안에 이미 존재하는지, 아닌지 확인하기 위함이다. 3. 맵을 통해, 새로 들어온 값이 이미 캐시안에 존재하는지 확인하고, ⓐ 존..

#문제링크 : programmers.co.kr/learn/courses/30/lessons/42891 1. 블로그를 참고했습니다. 2. pair로 새로운 벡터v에 food_times의 시간값과 인덱스 값을 담는다. 3. v를 시간 값 순으로 먼저 정렬을 한다. 4. food_times의 요소의 갯수(사이클)를 size라 하겠다. v의 가장 작은 요소(현재 음식을 먹는데 걸리는 시간)부터 지난 음식을 먹는데 걸리는 시간(last_time)을 기준으로 (v[i] - last_time) * size 만큼 k에서 빼나간다. 이게 무슨 말이냐하면, 예를 들어, v벡터에 4 4 5 8 10 이 있고, k = 30 이라 할때, last_time의 초기값은 0으로 하고, v[i] = 4 이므로, ( 4 - 0 ) * ..

#문제링크 : programmers.co.kr/learn/courses/30/lessons/42889# 1. 그냥 문제에서 요구하는 데로 작성한다. ※주의사항 1. 반례가 많다. N= 10 인데, stages = 1 , 2, 3, 3, 4, 5, 5 면 N번 반복전에 나누어주는 수가 0이되어 버린다.

#문제링크 : programmers.co.kr/learn/courses/30/lessons/12911 1. N보다 큰 숫자 중, 이진수로 바꿨을 때, 1의 갯수가 같은 숫자 중 제일 작은 수를 찾는 문제. 2. N의 1의 갯수를 세어 준 후, N보다 큰 수부터 숫자를 증가시켜가며, 1의 갯수를 세어준다. 3. 1의 갯수가 같다면 바로 그 숫자가 정답. 4. 만약, N이 전부 1로만 이루어져 있다면, 10111...1 이런 숫자가 N보다 크면서 1의갯수가 같은 숫자 중 가장 작은 수일 것이다. 예를들어, N = 1111이라면, 답은 10111이 된다. 5. N보다 큰 숫자부터 위의 조건을 만족하는 숫자까지만 탐색하면 되므로 브루트포스로 완전탐색해가면서 조건이 맞으면 종료한다.

#문제링크 : https://programmers.co.kr/learn/courses/30/lessons/17677 1. 아스키코드를 이용하여 알파벳 문자만 뽑아낸다. 2. 벡터에 원소들을 담고 두 벡터를 비교하면서 교집합, 합집합의 갯수를 구한다. ※주의사항 1. 문제 이해를 제대로 할것. aa++dd, AADD 의 각각 원소는 aa, dd / AA, AD, DD 이다. 2. int형 변수에 double형 변수를 대입하면 소수점을 자동으로 버린다.

#문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12973 1. stack에 s문자열의 하나하나를 담으면서, top과 담으려는 문자가 같다면 pop, 다르면 push