[알고리즘] 2. 구현

1. 구현

코딩 테스트에서 구현은 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 완전 탐색과 시뮬레이션 유형이 대표적인 구현 문제이다. 구현 문제는 문제의 길이가 꽤 긴 편이지만 고차원적인 사고력을 요구하는 문제는 자주 출제되지 않는다. 파이썬을 사용해서 구현 문제를 푸는 경우 메모리 제한을 염두에 두어야 한다.

2. 예시 문제

(1) Baekjoon Online Judge

import sys
t = int(sys.stdin.readline())
for i in range(t):
    a,b = map(int,input().split())
    a = a%10
    b = b%4 if b%4 != 0 else 4
    
    print((a**b)%10 if ((a**b) %10) != 0 else 10)

n, k = map(int, input().split())
integers = list(range(2, n+1))

i = 0
while k > 0:
    smallest = integers.pop(0)
    answer = smallest
    k -= 1
    for n in integers[1:]:
        if n % smallest == 0:
            answer = n
            integers.remove(n)
            k -= 1
            if k == 0:
                break

print(answer)

(2) 프로그래머스

import itertools

def solution(numbers):
    lst =list(map(int,numbers))
    numbers = []
    answer = 0
    for n in range(0, len(lst)+1):
        for subset in itertools.permutations(lst, n):
            subset = list(map(str, subset))
            number = ''.join(subset)
            if number != '' and int(number) >= 2 and int(number) not in numbers:
                numbers.append(int(number))

    for number in numbers:
        is_prime = 1
        for i in range(2, number):
            if number % i == 0:
                is_prime = 0
                break
        if is_prime == 1:
            answer += 1
    return answer

좋은 웹페이지 즐겨찾기