본문 바로가기

코딩테스트/[python]정올18

[python] 정올 1158 : 삽입정렬 서론 파이썬은 정렬이 이미 내장함수로 되어있지만 풀어보았다. 문제 JUNGOL www.jungol.co.kr 삽입정렬(Insertion sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하는 방법이다. 수열이 {5 4 3 7 6}이 있을 경우의 삽입정렬 과정은 다음과 같다. 처음상태에서 처음 값 5 앞에 아무것도 없으므로 5는 이미 정렬된 상태가 되므로, 이후 4부터 정렬과정을 살펴보자. ※ 3단계의 경우 7은 앞의 "3 4 5"보다 크므로 제자리에 삽입된다. n개의 수열이 주어지면 위 같은 방법으로 정렬하는 과정 각 단계를 출력하는 프로그램을 작성하시오. 입력형식 첫줄에 수열의 길이 N(4≤N≤100)이 주어진다. 두 번째 줄에 N개의 .. 2022. 5. 8.
[python] 정올 1535 : 단어집합2 서론 오랜만에 코테 풀이. 오랜만이라 상대적 난이도가 쉬운 정올 비기너 단계. 문제 JUNGOL www.jungol.co.kr 문제 스트링(문자열)​을 입력 한 후, 스트링(문자열)​을 구성하는 단어들 중, 현재 단어목록에 포함이 되어있지 않은 단어를 단어목록의 가장 뒤에 추가하는 프로그램을 작성하시오. (1) 처음에는 단어의 목록이 하나도 없다. (2) 단어의 구분은 공백으로 한다. (3) 스트링은 계속 입력받으며, 프로그램이 종료되지 않는 이상 기존의 단어들의 목록은 계속 유지된다. (4) 목록에 단어가 없을 경우 단어를 목록의 가장 뒤에 추가하고, 있을경우 추가하지 않는다. (5) 단어목록에는 입력되는 순서대로 저장된다. (6) 알파벳 대.소문자는 구분된다(다르다). 입력형식 입력되는 스트링(문자열.. 2022. 5. 8.
[python] 정올 1880 : 암호풀기(Message Decoding) 서론 암호학 기초 공부하는 기분이었다. 문제 JUNGOL www.jungol.co.kr 문제 최근 농부 창호에게서 메시지를 암호화(encryption)에 대해서 배운 소들은 너무나 신이 나있다. 그들은 다른 농장의 소들과 미팅을 할 때 은밀한 메시지를 사용할 경우 이 방법을 사용할 수 있을 것이라고 생각했다. 소들이 사용하는 암호화 방법은 복잡한 DES 혹은 BlowFish 와 같은 좋은 방법이 아니고 단순히 치환 하는 암호화 기법이다. 소들의 경우 복호화(암호를 해독함)하는 시간이 오래 걸리기 때문에, 소들과 대화를 할 수 있는 당신에게 복호화 키와 암호 문자를 입력으로 받아 원문을 구하는 프로그램을 구현 해주기를 요청했다. 복호화 키는 26개의 소문자로 주어지며, a,b,c,d... 를 순서대로 복호.. 2022. 4. 21.
[python] 정올 2514 : 문자열 찾기 서론 없음. 문제 JUNGOL www.jungol.co.kr 문제 주어진 문자열에서 연속 3개의 문자가 IOI 이거나 KOI인 문자열이 각각 몇 개 있는지 찾는 프로그램을 작성하라. 문자열은 알파벳의 대문자로만 이루어진다. 예를 들어 "KOIOIOI"라는 문자열은 KOI 1개 , IOI 2개가 포함되어있다. 입력형식 입력은 한 줄이며 10,000자 이하의 알파벳 대문자로 구성된다. 출력형식 출력은 2줄이며, 첫 번째 줄에는 KOI의 개수, 두 번째 줄에는 IOI의 개수를 각각 출력하라. 나의 풀이 a=input() print((b:=[a[i-1]+a[i]+a[i+1] for i in range(1,len(a)-1)]).count('KOI')) print(b.count('IOI')) 3개의 문자를 묵은 문.. 2022. 4. 20.
[python] 정올 2604 : 그릇 서론 파이써닉하지 못해서 만족스럽지는 않은 정답. 문제 JUNGOL www.jungol.co.kr 문제 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다. 만일 그릇이 포개진 모양이 아래 그림 1(a)와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 .. 2022. 4. 19.
[python] 정올 1641 : 숫자삼각형 서론 파이써닉하지 못해서 만족스럽지는 않은 정답. 문제 JUNGOL www.jungol.co.kr 문제 삼각형의 높이 n과 종류 m을 입력받은 후 다음과 같은 삼각형 형태로 출력하는 프로그램을 작성하시오. 종류 1번의 숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 진행 한 후 방향을 바꾸어서 이를 반복한다. 입력형식 삼각형의 크기 n(n의 범위는 100 이하의 홀수)과 종류 m(m은 1부터 3사이의 정수)을 입력받는다. 출력형식 위에서 언급한 3가지 종류를 입력에서 들어온 높이 n과 종류 m에 맞춰서 출력한다. 숫자사이는 공백으로 구분한다. 입력된 데이터가 주어진 범위를 벗어나면 "INPUT ERROR!"을 출력한다. 나의 풀이 n,m=map(int, input().split()) if .. 2022. 4. 19.