-- 1번 문제 --


1. 배열에 1, 2, 3이 얼만큼 나왔는지 카운팅


2. 제일 큰 카운팅 뽑아내기 (max라고 칭함)


3. [max - 1카운팅, max - 2카운팅, max - 3 카운팅] 반환


-- 2번 문제 --


1. string -> minute 변환, minute -> string 변환 함수 만듦


2. log 두 개씩 string -> minute 변환 함수를 이용해서 공부 시간 계산하고

공부 시간이 5분 미만이면 넘어가고, 105분 넘어가면 105분만 더함


3. 더한 값을 minute -> string 변환 함수로 반환


-- 3번 문제 --


1. [재료 => 값 ] 딕셔너리 만들기


2. [메뉴 => 순수익] 딕셔너리 만들기


3. 판매 배열 돌면서 순수익 누적해서 리턴


-- 4번 문제 --


1. 큐에 문자열 다 담기


2. front()와 back()이 동일한 동안 front()를 빼서 back에 다시 담기


ex) aabbaa -> bbaaaa


3. 2중 포문 돌면서 연속한 구간을 리스트에 담기


4. 리스트 정렬해서 리턴


-- 5번 문제 --


이건 뭐라 설명해야 되나... 걍 시키는 대로했음.


일단 루프 탈출 조건은


1. 빈 칸이 없다.

2. 사이클이 존재한다.


1번은 emptyCount = rows * columns; 로 정의후


빈 칸이 아닌 칸을 숫자로 채울 때마다 emptyCount-- 해주고 emptyCount가 0이면 탈출


2번은 지금도 애매한데 


현재 숫자를 채울 칸과 다음에 숫자를 채울 칸 둘 다 빈칸이 아닐 때 사이클이라 생각하고 빠져나옴.


일단 테케 내가 엄청 많이 넣어봤는데 잘 동작해서 이렇게 제출함.


-- 6번 문제 --


1. 12시간 시스템을 24시간 시스템으로 바꾸는 함수 만듦


2. ans = '호치민' 으로 초기화 해놓기 (이 부분 놓치는 사람 좀 있을 듯?)


3. 금요일 출퇴근, 월요일 출퇴근 시간 잘 고려해서 필요한 휴가 시간 계산


4. 필요한 휴가 시간이 남은 휴가 시간보다 적으면 탈출


5. 남은 휴가 시간보다 적다면 ans를 현재 여행지로 덮어씌우고 '남은 휴가시간 - 필요한 휴가시간' 해줌


6. ans 리턴


-- 7번 문제 --


일단 배열 이용해서 풀었음.


1. 이차원 배열 만들고, 정삼각형 모양으로 grid 채워 넣음

 이때 시계방향이면 그대로, 반대방향이면 grid.reverse() 하고 채워넣기


2. 맨 밑 왼쪽에서부터 지그재그라 해야하나? 그 모양으로 원소 밀어넣고,


시계 방향이면 reverse(), 반대방향이면 그대로 리스트에 넣어주기


3. 리스트 리턴




5번은 일단 2번 조건이 애매해서 잘 모르겠다.


모든 문제는 js로 풀었는데 4번은 큐 써가지고 c++로 바꿔서 제출함.


js는 arr.shift()가 o(n)이나 잡아먹어서 시간초과날까봐 시간도 1시간 반이나 남았겠다, 걍 c++로 바꿔서 제출함.