미완성 23

[C] 패턴 매칭 해결하기

다음 주어지는 영어 문장에서 특정한 문자열의 개수를 리턴하는 프로그램을 작성하여라. ti를 검색하면, Start eating well with these eight tips for healthy eating, which cover the basics of a healthy diet and good nutrition. 위 INPUT의 답은 4가 된다. 제약 사항 총 10개의 테스트 케이스가 주어진다. 문장의 길이는 띄어쓰기 포함 1000자를 넘어가지 않는다. 한 문장에서 검색하는 문자열의 길이는 최대 10을 넘지 않는다. 한 문장에서 하나의 문자열만 검색한다. 입력 첫 줄에는 테스트케이스의 개수가 주어지고 그 다음 줄에는 검색 할 문자열이 주어진다. 그 다음 줄에는 문장이 주어진다. 입력 예시 1 ti S..

coding test 2021.03.04

[파이썬] 5120. 암호

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. A사는 창립기념일 이벤트로 비밀번호 맞추기 대회를 열어, 최대 10개인 비밀번호를 맞추는 사람에게 기념품을 제공하기로 했다. 기념품을 받을 수 있도록 다음 조건에 맞는 비밀번호 찾기 프로그램을 작성하시오. - 1000이하의 숫자 N개가 주어진다. 이때 시작 숫자가 정해지고, 첫 번째 지정 위치가 된다. - 지정 위치부터 M번째 칸을 추가한다. 여기에 앞칸의 숫자와 뒤로 밀려난 칸의 숫자를 더해 넣는다. 추가된 칸이 새로운 지정 위치가 된다. 밀려난 칸이 없으면 시작 숫자와 더한다. - 이 작업을 K회 반복하는데, M칸 전에 마지막 숫자에 이르면 남은 칸수는 시작 숫자부터 이어간다. - 마지막 숫자부터 역순으로 숫자를 출력하면 비밀번호..

coding test 2021.02.01

병합 정렬

병합 정렬 여러 개의 정렬된 자료의 집합을 병합하여 한 개의 정렬되 집합으로 만드는 방식 자료를 최소 단위의 문제까지 나눈 후에 차례대로 정렬하여 최종 결과를 얻음. Top-Down 방식 O(n log n) def merge(left, right): result=[] # 두 개의 분할된 리스트를 병합하여 result 만듦 while len(left) > 0 and len(right) > 0 : # 양쪽 리스트에 원소가 남아있는 경우 # 두 서브 리스트의 첫 원소들을 비교하여 작은 것부터 result에 추가 if left[0] 0 : # 왼쪽 리스트에 원소가 남아있는 경우 result.extend(left) if len(right) > 0 : # 오른쪽 리스트에 원소가 남아있는 경우 result.exten..

[파이썬] 5102. 노드의 거리

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. V개의 노드 개수와 방향성이 없는 E개의 간선 정보가 주어진다. 주어진 출발 노드에서 최소 몇 개의 간선을 지나면 도착 노드에 갈 수 있는지 알아내는 프로그램을 만드시오. 예를 들어 다음과 같은 그래프에서 1에서 6으로 가는 경우, 두 개의 간선을 지나면 되므로 2를 출력한다. 노드 번호는 1번부터 존재하며, 노드 중에는 간선으로 연결되지 않은 경우도 있을 수 있다. [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1

coding test 2021.01.27

[파이썬] 5099. 피자 굽기

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. N개의 피자를 동시에 구울 수 있는 화덕이 있다. 피자는 치즈가 모두 녹으면 화덕에서 꺼내며, 치즈의 양은 피자마다 다르다. 1번부터 M번까지 M개의 피자를 순서대로 화덕에 넣을 때, 치즈의 양에 따라 녹는 시간이 다르기 때문에 꺼내지는 순서는 바뀔 수 있다. 주어진 조건에 따라 피자를 구울 때, 화덕에 가장 마지막까지 남아있는 피자 번호를 알아내는 프로그램을 작성하시오. - 피자는 1번위치에서 넣거나 뺄 수 있다. - 화덕 내부의 피자받침은 천천히 회전해서 1번에서 잠시 꺼내 치즈를 확인하고 다시 같은 자리에 넣을 수 있다. - M개의 피자에 처음 뿌려진 치즈의 양이 주어지고, 화덕을 한 바퀴 돌 때 녹지않은 치즈의 양은 반으로 줄..

coding test 2021.01.26

[파이썬] 5105. 미로의 거리

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. NxN 크기의 미로에서 출발지 목적지가 주어진다. 이때 최소 몇 개의 칸을 지나면 출발지에서 도착지에 다다를 수 있는지 알아내는 프로그램을 작성하시오. 경로가 있는 경우 출발에서 도착까지 가는데 지나야 하는 최소한의 칸 수를, 경로가 없는 경우 0을 출력한다. 다음은 5x5 미로의 예이다. 1은 벽, 0은 통로를 나타내며 미로 밖으로 벗어나서는 안된다. 13101 10101 10101 10101 10021 마지막 줄의 2에서 출발해서 0인 통로를 따라 이동하면 맨 윗줄의 3에 5개의 칸을 지나 도착할 수 있다. [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1

coding test 2021.01.25

[파이썬] 4881. 배열 최소 합

swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. NxN 배열에 숫자가 들어있다. 한 줄에서 하나씩 N개의 숫자를 골라 합이 최소가 되도록 하려고 한다. 단, 세로로 같은 줄에서 두 개 이상의 숫자를 고를 수 없다. 조건에 맞게 숫자를 골랐을 때의 최소 합을 출력하는 프로그램을 만드시오. 예를 들어 다음과 같이 배열이 주어진다. 2 1 2 5 8 5 7 2 2 이경우 1, 5, 2를 고르면 합이 8로 최소가 된다. [입력] 첫 줄에 ..

coding test 2021.01.20

[파이썬] 4880. 토너먼트 카드게임

swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. 사다리 게임이 지겨워진 알고리즘 반 학생들이 새로운 게임을 만들었다. 가위바위보가 그려진 카드를 이용해 토너먼트로 한 명을 뽑는 것이다. 게임 룰은 다음과 같다. 1번부터 N번까지 N명의 학생이 N장의 카드를 나눠 갖는다. 전체를 두 개의 그룹으로 나누고, 그룹의 승자끼리 카드를 비교해서 이긴 사람이 최종 승자가 된다. 그룹의 승자는 그룹 내부를 다시 두 그룹으로 나눠 뽑는데, i번부..

coding test 2021.01.18

[파이썬] 4875. 미로

swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. NxN 크기의 미로에서 출발지에서 목적지에 도착하는 경로가 존재하는지 확인하는 프로그램을 작성하시오. 도착할 수 있으면 1, 아니면 0을 출력한다. 주어진 미로 밖으로는 나갈 수 없다. 다음은 5x5 미로의 예이다. 13101 10101 10101 10101 10021 마지막 줄의 2에서 출발해서 0인 통로를 따라 이동하면 맨 윗줄의 3에 도착할 수 있는지 확인하면 된다. [입력] 첫..

coding test 2021.01.15