본문 바로가기

COMPUTER SCIENCE/Coding Test

(6)
DFS 및 BFS 기본 응용 문제 _ 방문 순서 출력 DFS 및 BFS 기본 개념을 알았다고 해도, 막상 응용문제를 풀어보려고 하니 이해하기가 쉽지 않네요. 가장 개념에 가까운 문제부터 풀어봅시다. 1. 문제와 문제 조건 파악하기 문제: N개의 정점(Vertex)이 리스트 형태로 주어진다. 다음과 같이 그래프가 주어져 있을 때, DFS/ BFS 알고리즘을 이용하여, 방문 순서를 차례대로 저장한 리스트를 반환해라. 조건: - 시작 노드는 1 - DFS / BFS 탐색은 주어진 간선 리스트 내의 원소 순서로 할 것 2. 문제 풀어보기 _ DFS 알고리즘 결과 문제를 해결하기 위해 제시한 예시 코드는 다음과 같습니다. 예시 코드: List = [[0,1,1,1],[0,0,0,1],[0,0,0,1],[0,0,0,0]] def DFS(List,vert,vlist,o..
코딩 테스트 준비 문제[리스트 스택/큐] _ python3 1. 문제와 문제 조건 파악하기 문제: 두 개의 리스트와 하나의 정수 데이터가 매개변수로 주어진다. 이때 하나의 리스트에는 생산되는 제품의 이름이 포함되어있고, 나머지 하나의 리스트에는 각 제품의 생산율을 백분율로 나타낸다. 1시간에 생산율만큼 제품이 생산된다고 할 때, 주어진 정수 시간만큼 지난 후에 생산되는 제품 순서대로 이름을 리스트 결과로 반환하는 프로그램을 만들어라. 조건: - 제품의 이름은 ['A', 'B', 'C']이고 생산 비율은 [20,30,10] - 생산된 제품이 없다면, 빈 리스트를 반환 - 스택 또는 큐를 이용할 것, 시간은 4시간, 8시간, 12시간에 대해서의 결과 2. 유용한 리스트 함수 _ 리스트 스택 & 큐 스택은 들어간 데이터 순서대로 나오고, 큐는 대기 줄을 생각하면 된다..
코딩 테스트 준비 문제 [사칙 연산 문제] _ Python3 1. 문제와 문제 조건 파악하기 계산 관련 문제는 배열, 사칙 연산, 데이터 타입에 대한 이해를 기본으로 합니다. 이번에는 두 정수 타입의 변수를 받아 사칙연산을 수행하는 문제를 풀어보도록 합시다. 문제: 두 정수를 받아 사칙연산을 수행하는 프로그램을 제작해라. * 이 프로그램은 다음의 조건을 만족해야 한다. 조건: - 두 정수는 0 이상 1000,000,000 이하일 때만 결과를 출력한다. - 결과는 덧셈, 뺄셈, 곱셈, 나눗셈 순서로 출력할 것 (배열 형태) - 나누기는 소수 셋째 자리에서 반올림 한 소수형으로 반환 2. 유용한 반올림 내장 함수 파이썬의 내장 함수에서 반올림과 관련된 유용한 함수가 존재합니다. 코드 1 _ round(n) ; 변수 n의 반올림 값을 소수 첫 번째 자리에서 실행하여, ..
코딩 테스트 준비 문제 [약수 문제] _ Python3 1. 문제와 문제 조건 파악하기 계산 관련 문제는 배열, 사칙 연산, 데이터 타입에 대한 이해를 기본으로 합니다. 먼저, 두 정수 타입의 변수를 넣었을 때 약수를 반환하는 문제를 풀어봅시다. 문제: 두 정수를 매개변수로 입력하고, 각각의 정수에 포함된 약수를 나열 작은 수부터 차례대로 정리하라. 정리된 약수는 배열 형태로 반환하는 함수를 만들어라. 조건: - 두 정수는 1000 이하의 수이다. - 반환된 배열은 리스트 타입으로 만들 것. - 음수는 약수로 취급하지 않는다. 2. 약수 알고리즘 _ 유용한 함수 정리 약수는 정수로 나누어 떨어지는 어떤 수를 말합니다. 이 어떤 수는 정수에 따라 2개 이상의 약수를 갖기도 합니다. 다시 말해서, 모든 수는 1과 자기 자신을 기본 약수로 합니다. 물론 1은 약수..
코딩 테스트 준비 문제 [문자열 처리 문제] _ Python3 1. 문제와 문제 조건 파악하기 문자열 처리 관련 문제에 사용되는 코딩 문법은 배열(리스트 등)을 기본으로 합니다. 먼저, 문자열을 변수로 넣었을 때, 조건에 부합하면 참, 조건에 맞지 않으면 거짓 결과를 출력하는 방식과 유사하게 문제가 출제됩니다. 여기에서는 다음과 문제의 답을 찾아가는 코딩을 해보겠습니다. 문제: 길이가 10 이하인 문자열을 변수로 받아 대문자로 변환하여 반환하는 프로그램을 제작해라. 입력된 문자열은 a부터 z까지의 알파벳만 허용된다. (만약 다음의 조건을 만족하면 True, 만족하지 않으면 False를 출력하도록 할 것) 조건: - 특수문자는 사용될 수 없다. 숫자도 사용될 수 없다. - 공백은 사용될 수 없다. - 아무것도 입력되지 않은 변수 또한 사용될 수 없다. 2. 유용한 함..
코딩 테스트 준비 문제 [로또 관련 문제] _ Python3 1. 문제와 문제 조건 파악하기 로또 관련 문제에 사용되는 코딩 문법은 배열(리스트 등)을 기본으로 합니다. 먼저, 길이 6인 정수 배열을 만들어, 문제 조건에 맞는 함수에 넣었을 때, 결과를 출력하는 방식으로 문제가 출제됩니다. 여기에서는 다음과 같은 문제의 답을 찾아가는 코딩을 해보겠습니다. 문제: 길이가 6인 정수 배열을 입력받아서 당첨결과를 반환하는 프로그램을 만들어라. 1등 기준은 랜덤으로 생성된 6개의 번호이며, 당첨 결과는 1등부터 6등까지 당첨된 횟수를 리스트로 반환 한다. 조건: - 로또 당첨 결과의 비교는 1등 번호와 입력한 번호의 순서에 상관없이 동일하다. - 함수의 결과는 길이가 7인 리스트로 마지막 숫자의 의미는 1등이 나오기까지 시도한 총횟수이다. 2. 랜덤 함수 _ import..