백준 알고리즘
-
[BOJ/15905] 스텔라(STELLA)가 치킨을 선물했어요백준 알고리즘/Problems 2023. 3. 5. 22:09
문제 설명 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 는 아주대학교, 경희대학교, 성균관대학교, 인하대학교, 한국항공대학교, 한양대학교ERICA가 함께하는 대학교 자체 연합 대회이다. shake! 는 매년 1등 학생에게 사과북 프로 레티나를 비롯하여 5등까지 상장과 상품을 수여하고 있다.2018년 올해는 특별히 세계 최고 에듀테크 기업인 ST Unitas와 함께한다. 스텔라(STELLA)는 ST Unitas의 인공지능 사원이다. 인간을 동경하는 스텔라는 최대한 많은 학생에게 혜택이 돌아가지 못하는 점을 늘 안타까워하였다. 혜택을 주기위해 많은 고민을 거듭하던 스텔라는 ST Unitas의 전설적인 “스카이에듀 치킨 기프티콘“ 전략을 읽어보고 감명을 받아 이를 따라하기로 결심하였다. 너무 많은 ..
-
[BOJ/1181] 단어 정렬 (Feat. 집합, 람다 함수)백준 알고리즘/Problems 2023. 3. 5. 01:19
문제 설명 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 문제 해결 이 문제를 Pythonic하게 해결하기 위해선 다음과 같은 개념을 알고 있어야 한다. 집합, 리스트 람다 함수를 사용한 정렬 조건의 세분화 물론 문자열을 받아 객체로 만들고 반복문을 여럿 사용해 구현할 순 있지만 위 개념..
-
[BOJ/2444] 별 찍기 - 7백준 알고리즘/Problems 2023. 2. 24. 14:14
총 두 단계에 나눠서 별을 찍었다. 먼저, 1번째 줄부터 N번째 줄까지 찍고 N+1번째 줄부터 2N - 1 번째 줄까지 찍었다. n = int(input()) for i in range(1, n + 1): for j in range(n - i): print(end=" ") for k in range(2 * i - 1): print(end="*") print() # 총 줄의 개수는 n-1번이고 # 각 줄의 별 개수는 2n - (2i) -1개 # 각 줄의 공백 개수는 i개 for i in range(1, n): for j in range(i): print(end=" ") for k in range(2 * n - 2 * i - 1): print(end="*") print()
-
[BOJ/5598] 카이사르 암호백준 알고리즘/Problems 2023. 2. 24. 13:40
해당 문제를 풀기 위해선 알파벳을 숫자로 변환하는 과정이 필요하다. 그러기 위해 파이썬의 내장 함수인 `ord`, `chr` 를 이용해보자. https://ddolcat.tistory.com/684 [Python] 파이썬 아스키코드(ASCII) 비교 및 변환 총정리 : ord(), chr(), hex() 파이썬에서 아스키코드를 문자로 변환하는 방법과 문자를 아스키코드로 변환하는 방법에 대해 알아봅니다. ord()함수를 사용하여 아스키코드로 변환할 수 있습니다. 반대로 chr()함수를 사용하여 ddolcat.tistory.com 카이사르 암호는 변경 전 문자보다 변경 후 문자가 아스키 코드가 3만큼 더 크다. 단, 이는 변경 후 문자 A, B, C에게는 적용되지 않는다. 변경 전 문자 X, Y, Z에 아스..