ALGORITHM 52

[Python] 광고 삽입

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 2. 풀이 예전에 풀었던 문제에서 나왔던 누적합 개념을 써먹어서 너무 기쁨!!!!취준 코테에도 나오면 좋겠다^^* 누적합을 써도 시간 초과가 나와서 adv(광고 길이) 단위로 계속 합치는 것이기 때문에 dp로 더해주었더니 풀림 누적합으로 시간복잡도가 n^2 -> n*4 로 바뀜 중..

ALGORITHM/Kakao 2022.03.31

[Python] 합승 택시 요금

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 2. 풀이 이상한 부분으로 한참을 헤맸던 문제 풀고나니 생각보다 간단해서..

ALGORITHM/Kakao 2022.03.31

[Python] 다단계 칫솔 판매

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 2. 풀이 계속 시간 초과가 나서 찾아보니 share가 0이 되면 멈추라고 하던데.. 나는 멈추는데도 계속 시간초과가 났다. 그래서, list.index(name)함수로 인덱스 번호 찾던걸, dictionary로 변경하니 시간 초과가 안걸렸다. dictionary가 확실히 빠르고 효율성이 좋은 듯.. 애용하자 ..ㅎㅋ 내가 푼 방법 seller ..

ALGORITHM/Kakao 2022.03.24

[Python] 사라지는 발판

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92345 코딩테스트 연습 - 사라지는 발판 [[1, 1, 1], [1, 1, 1], [1, 1, 1]] [1, 0] [1, 2] 5 [[1, 1, 1], [1, 0, 1], [1, 1, 1]] [1, 0] [1, 2] 4 programmers.co.kr 2. 풀이 MinMax Algorithm 사용 MinMax Algorithm 두명이 돌아가면서 작업을 하는 과정에서, 각자 자신이 이길 수 있는 최선의 선택을 할 때 필요한 알고리즘 내가 푼 방법 *단어 정리* state : 현재 상태 now_player : 현재 움직이는 사람 step : 몇 스텝만에 이겼는지 현재 플레이어를 상하좌우로 움직인 뒤, 현..

ALGORITHM/Kakao 2022.03.24

[Python] 행렬 테두리 회전하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/77485?language=python3 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 2. 풀이 쉬워보여서 도전했는데 생각보다 귀찮은 문제였음.. 어디서 어디로 대입을 해야하는지를 꼼꼼하게 체크하자 가로 세로 헷갈리지 않도록 명확한 기준을 잡는 것이 중요 3. 코드 def circle(x1,x2,y1,y2): min_num = board[x1][x2] temp1, temp2, temp3 ..

ALGORITHM/Kakao 2022.03.22

[Python] 파괴되지 않은 건물

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 2. 회고 누구나 그랬겠지만 보자마자 쉽네? 했다가 효율성 무슨일..ㅋㅋ 누적합 을 사용하는 문제 누적합이란? 리스트 l = [0,0,0,0,0,0] 이라고 둘 때, 리스트 [0] 부터 [3] 을 ..

ALGORITHM/Kakao 2022.03.16

[Python] 신고 결과 받기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 2. 회고 3단계 풀다가 1단계 푸니깐 너무 행복..ㅎ 리스트에서 index 검색하는 함수 index = 리스트.index(찾고싶은 요소) 리스트에서 중복제거 중복제거리스트 = set(원래리스트) 원래리스트 = list(중복제거리스트) 우리에게 익숙한 리스트함수들을 사용하려면 list로 다시 바꿔주는 것이 불필요한 실수를 줄일 수 있다. 3. ..

ALGORITHM/Kakao 2022.03.16

[Python] 양궁대회

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 2. 코드 def calc(apeach,lion): apeach_sum = 0 lion_sum = 0 for i in range(11): if ((apeach[i] == lion[i]) and (apeach[i] == 0)): continue if (apeach[i] < lion[i]): lion_sum = lion_sum + 10 - i else: ape..

ALGORITHM/Kakao 2022.03.08