Coding Test/Implement
곶감(모래시계, 열 회전)
문제 마당은 N*N 격자판으 로 이루어져 있으며, 현수는 각 격자단위로 말리는 감의 수를 정합니다. 위치에 따라 특정위치의 감은 잘 마르지 않습니다. 격자의 행을 기준으로 왼쪽, 또는 오른쪽으로 회전시켜 위치를 변경 회전명령 정보가 2 0 3이면 2번째 행을 왼쪽으로 3만큼 회전 행번호, 방향 0왼쪽/1오른쪽, 회전 격자 수 M개의 회전명령을 실행하고 난 후 모래시계 모양의 영역의 감 총 개수 출력 N(3
격자판 최대 합
문제 N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력 첫 줄에 자연수 N이 주어진다.(1res: res=sum2 if cross1 > res: res=cross1 if cross2 > res: res=cross2 print(res)
사과나무 (격자탐색, 다이아몬드)
문제 현수의 농장은 N*N 격자판, 각 격자안에는 한 그루의 사과나무가 심어져 있다, N의 크기는 항상 홀수 사과를 수확할 때 다이아몬드 모양의 격자판만 수확하고 나머지 격자안의 사과는 새들을 위해서 남겨놓는다. 입력 첫 줄에 자연수 N(홀수)이 주어진다.(3
정렬된 두 리스트 합치기 (sort 함수, 투 포인터)
문제 오름차순으로 정렬이 된 두 리스트가 주어지면 두 리스트를 오름차순으로 합쳐 출력 3 1 3 5 5 2 3 6 7 9 1 2 3 3 5 6 7 9 분석 sort()의 시간복잡도 : nlogn ➔ 정렬된 두 리스트 합치기 시간복잡도 : n 풀이 # 시간복잡도 n n=int(input()) a=list(map(int,input().split())) m=int(input()) b=list(map(int,input().split())) c=[] # 정답 리스트 p1=p2=0 while p1
카드 역배치 (파이썬 리스트 뒤집기)
문제 1부터 20까지 숫자가 하나씩 쓰인 20장의 카드가 아래 그림과 같이 오름차순으로 한 줄로 놓여있다. 구간 [a, b] (단, 1 ≤ a ≤ b ≤ 20)가 주어지면 위치 a부터 위치 b까지의 카드를 현재의 역순으로 놓는다. 현재 카드가 놓인 순서가 위의 그림과 같고 구간이 [5, 10]으로 주어진다면, 위치 5부터 위치 10까지의 카드 5, 6, 7, 8, 9, 10을 역순으로 하여 10, 9, 8, 7, 6, 5로 놓는다. 오름차순으로 한 줄로 놓여있는 20장의 카드에 대해 10개의 구간이 주어지면, 주어진 구간의 순서대로 위의 규칙에 따라 순서를 뒤집는 작업을 연속해서 처리한 뒤 마지막 카드들의 배치 출력 5 10 9 13 1 2 3 4 5 6 1 2 3 4 5 6 1 20 1 20 1 2 3..
숫자만 출력
문제 문자와 숫자가 섞여있는 문자열(~50) 중 숫자만 추출하여 그 순서대로 만들어진 자연수와 그 자연수의 약수 개수 출력 만약 “t0e0a1c2h0er”에서 숫자만 추출하면 0, 0, 1, 2, 0이고 이것을 자연수를 만들면 120 120를 출력하고 다음 줄에 120 의 약수의 개수를 출력 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 풀이1 str=input() disStr="" for i in str: if i.isdecimal(): disStr+=i num=int(disStr) print(num) cnt=0 for i in range(1, num+1): if num%i==0: cnt+=1 print(cnt) 풀이2 str=input() res=0 for i in str: if..
[17609] 회문 (유사회문, 투 포인터)
17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 분석 회문 검사 : i번째 문자와 j번째 문자가 같은지 비교하며 i를 1씩 증가시키고 j를 1씩 감소시켜 가운데로 이동 while문을 이용하여 i가 j보다 작을 때까지 반복 반복문을 순회하면서 i와 j가 다른 문자가 있을 경우, 회문이 아니므로 유사회문 검사 유사회문 검사 : 유사회문은 1문자를 제외하고 회문인 경우므로, 다른 문자가 있을때 i를 한칸 건너 뛰고 검사하거나 j를 한칸 건너 뛰고 검사 했을 때 회문 따라서 secondCheck함수에 각각 인자를 i+1, j-1로 변경하여 검사 ..
회문 문자열 검사
문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열)이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력 첫 줄에 정수 N(1