코딩 테스트/Level 3
-
[2024 KAKAO WINTER INTERNSHIP] n + 1 카드게임코딩 테스트/Level 3 2024. 12. 18. 13:07
https://school.programmers.co.kr/learn/courses/30/lessons/258707# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr def solution(coin, cards): def check(deck1, deck2): for card in deck1: if (order_card := target - card) in deck2: deck1.remove(card) deck2.remove(order_card) return True retur..
-
[PCCP 기출문제] 4번 / 수레 움직이기코딩 테스트/Level 3 2024. 11. 30. 07:20
https://school.programmers.co.kr/learn/courses/30/lessons/250134 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr꽤 지저분한 IF문들을 파이썬의 언패킹과 튜플 비교를 이용해서 깔끔하게 정리하려고 노력했다. = 파이써닉한 코드를 쓰려고 노력했다능.. from collections import dequefrom copy import deepcopydef solution(maze): def can_go(y_, x_, visited): return 0
-
[2023 현대모비스 알고리즘 경진대회 예선] 상담원 인원코딩 테스트/Level 3 2024. 11. 23. 10:16
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr꽤 빡구현 문제지만, 파이썬은 내장 라이브러리로 꽤 많은 부분을 해결할 수 있어서 어렵지 않다. deque, itertools, heapq 등을 모두 동원해야 풀 수 있는 문제.물론 itertools를 쓰는 것 보다 좀 더 효율적인 방법이 있지만.. 가독성 및 코딩 시간 단축을 위해 내장 라이브러리를... from collections import dequefrom itertools import productfrom heapq import he..
-
[PCCP 기출문제] 4번 / 수식 복원하기코딩 테스트/Level 3 2024. 11. 21. 22:58
https://school.programmers.co.kr/learn/courses/30/lessons/340210 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 빡 구현 문제...코드가 지저분 ㅠ,.ㅠ import stringfrom functools import reducedef solution(expressions): def convert(num, base_): q, r = divmod(num, base_) if q == 0: return string.digits[r] else: return convert(q, ba..
-
[2024 KAKAO WINTER INTERNSHIP] 산 모양 타일링코딩 테스트/Level 3 2024. 11. 21. 18:33
https://school.programmers.co.kr/learn/courses/30/lessons/258705 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(n, tops): dp = [0] * (2 * n + 1) dp[0], dp[1] = 1, 2 if tops[0] == 0 else 3 for i in range(2, 2 * n + 1): if i % 2 == 1 and tops[i // 2] == 1: dp[i] = (dp[i - 1] * 2 + dp[i - 2]) % 10_007 else: ..
-
프로그래머스 / 리틀 프렌즈 사천성코딩 테스트/Level 3 2023. 3. 5. 22:03
https://school.programmers.co.kr/learn/courses/30/lessons/1836 자바 1. Sort를 해야하니 TreeMap을 이용하자. 2. 길을 찾을 때 ㄱ 방향, ㄴ 방향을 고려해야 한다. 3. 구현 문제다. import java.util.*; class Solution { char[][] board; public String solution(int m, int n, String[] board) { this.board = new char[m][n]; var pairs = new TreeMap(); for (var i = 0; i < m; i++) for (var j = 0; j < n; j++) { var temp = board[i].charAt(j); this.bo..
-
프로그래머스 / 예선캠핑코딩 테스트/Level 3 2023. 3. 5. 13:15
https://school.programmers.co.kr/learn/courses/30/lessons/1833 1. 누적합을 2차원으로 이용한다. (일종의 DP) 2. 좌표를 그대로 쓰면 불필요하게 넓은 공간을 사용해야 한다. 2^31-1 개의 공간에 5000개의 좌표. 파이썬 from itertools import combinations def solution(n, data): # x좌표 추출 -> 정렬 후 인덱스를 붙인 뒤 '값: 인덱스'로 딕셔너리에 저장, # 값으로 인덱스를 찾을 수 있도록 한다. y 좌표들도 마찬가지... x_dic = {x: i for i, x in enumerate(sorted({each[0] for each in data}))} y_dic = {y: i for i, y i..
-
프로그래머스 / 연속 펄스 부분 수열의 합코딩 테스트/Level 3 2023. 3. 4. 10:33
https://school.programmers.co.kr/learn/courses/30/lessons/161988 문제를 보면 바로 누적합(cumulative sum, prefix sum)이 떠오른다. 조금 더 생각해 보자. 최솟값, 최댓값에도 누적을 사용하면 어떨까? 레벨3치곤 쉬운데... 파이썬 혹시 이게 될까 했는데 되네. 바다코끼리 연산자~! 대박.. from itertools import cycle, chain from functools import reduce def solution(sequence): temp1, temp2, temp3 = 0, 100000, -100000 s_cum = tuple(chain((0,), (temp1 := temp1 + each1 * each2 for each..