728x90

kakao blind 4

[Programmers] level2 - 메뉴 리뉴얼 (Python) : 2021 KAKAO BLIND RECRUITMENT

▶메뉴 리뉴얼 (Python) : 2021 KAKAO BLIND RECRUITMENT (level 2) ▶풀이 combinations를 이용해서 메뉴별로 조합을 만든다. combinations는 중복을 허용하지 않고 조합을 만들어줘서 그것을 이용했다. 그다음에 조합이 몇 개가 등장하는지 counter함수를 이용해서 카운트했다. 이때 어떤 메뉴를 추가할지 정해야 하는데 2명 이상 주문한 코스 거나 가장 많이 주문한 코스면 된다. 그래서 조건문에 1보다 커야 하고 가장 첫 번째 값과 같을 때 추가해주는 거다. 첫 번째 값과 같아야 하는 이유는 most_common() 함수를 이용해서 자동으로 정렬시켰고, 그렇기 때문에 두 번째 코스도 첫 번째와 같이 많이 호출되었을 수도 있기 때문이다. 이거를 반복시켜주면 ..

[Programmers] level1 - 신고 결과 받기 (Python) : 2022 KAKAO BLIND RECRUITMENT (level 1)

▶신고 결과 받기 - 2022 KAKAO BLIND RECRUITMENT (level 1) ▶풀이 신고 당한 횟수가 k번 이상이면 신고한 사람이 몇번이나 신고 성공했는지 출력해주면 된다. 그에 맞는 dictionary를 생성해서 id값들을 넣어준다. result는 사람들이 몇번이나 신고 당했는지 체크해주는 dictionary이고, 신고 횟수를 1씩올려주면 된다. 마지막 for문에선 그 값에 해당하는 key값을 가지고 answer의 값을 1씩 올려주면 된다. 사실 이 문제를 글쓰는 날 푼 문제가 아니라 한참 전에 푼 문제이다. 그래서 설명 자체가 너무 별로일 수도 있다.ㅠㅠ 다음에 다시 풀어보고 설명을 제대로 적어야겠다. def solution(id_list, report, k): answer = [0] ..

[Programmers] level2 - k진수에서 소수 개수 구하기 (Python) : 2022 KAKAO BLIND RECRUITMENT

▶k진수에서 소수 개수 구하기 - 2022 KAKAO BLIND RECRUITMENT (level 2) ▶풀이 주어진 숫자를 k에 맞춰 진수로 바꿔준다. word라는 string을 하나 만들어서 k로 나눈 나머지를 계속해서 앞에다 넣어주는 방식으로 진수를 만들었다. 그다음에 숫자 '0'을 기준으로 split를 해주어 words에 저장한다. 그 숫자들을 하나씩 가지고 와서 소수인지 아닌지 확인하는 코드를 돌려 소수라면 answer를 1 증가시켜준다. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 수..

[Programmers] level3 - 파괴되지 않은 건물 (Python) : 2022 KAKAO BLIND RECRUITMENT

▶파괴되지 않은 건물 - 2022 KAKAO BLIND RECRUITMENT (level 3) ▶풀이 처음에 아주 간단한 문제라 생각하고 풀었다. 정확성 테스트는 다 맞게 나오는데 효율성에서 시간 초과가 떴다... 카카오에서 이렇게 쉬운 문제를 낼리가 없지ㅋ 효율성 테스트 실패 코드...ㅜ def solution(board, skill): answer = 0 building = board for s in skill: if s[0] == 1: for i in range(s[1], s[3]+1): for j in range(s[2], s[4]+1): building[i][j] -= s[5] elif s[0] == 2: for i in range(s[1], s[3]+1): for j in range(s[2],..

728x90