알고리즘 6

Softeer Level 3 - [HSAT 3회 정기 코딩 인증평가 기출] 플레이페어 암호

문제링크 HSAT 3회 정기 코딩 인증평가 기출] 플레이페어 암호 입력1 HELLOWORLD PLAYFAIRCIPHERKEY 출력1 EIYVRVVQBRGW 입력2 LEMONSTRAWBERRYAPPLEIUICE WATERMELON 출력2 NALNBQEWTANRTZEZTKKOWQWUGW 풀이 더보기 1. 주어지는대로 입력을 받는다 plain_text = sys.stdin.readline().rstrip('\n') enc_key = sys.stdin.readline().rstrip('\n') 2. 암호화에 쓰이는 문자열은 한번만 쓰이므로 중복된 글자를 제거한다. enc_key = ''.join(dict.fromkeys(enc_key)) 3. 암호화된 문자열을 담을 테이블을 선언하고 J를 제외한 alphabet..

Study/Algorithm 2023.08.04

(백준) 2954 자바 - 창영이의 일기장

문제 창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다. 일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다. 또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i','o','u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다. 예를 들어, "kemija" 는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다. 창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 알파벳 소문자와 공백으로만 이루어진 문장이 하나 주어진다. 모든 단어는 공백 하나로 구분되어져 있다. 문장의 길이는 최대 100이다. 출력 첫째 줄에 알파벳 소문자와 공백으로만 이루어진..

Study/Algorithm 2021.08.17

(백준) 1182 파이썬 - 부분수열의 합

(백준) 1182 - 부분수열의 합 더보기 문제 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. 코드 from itertools import combinations from sys import stdin N, S = map(int, stdin.readline().split()) lst = list(map(in..

Study/Algorithm 2021.05.20

(백준) 12904 파이썬 - A와 B

(백준) 12904 - A와 B 더보기 문제 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과 같은 두 가지 연산만 가능하다. - 문자열의 뒤에 A를 추가한다. - 문자열을 뒤집고 뒤에 B를 추가한다. 주어진 조건을 이용해서 S를 T로 만들 수 있는지 없는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 999, 2 ≤ T의 길이 ≤ 1000, ..

Study/Algorithm 2021.05.20

(백준) 1931 파이썬 - 회의실 배정

(백준) 1931 - 회의실 배정 더보기 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작..

Study/Algorithm 2021.05.11