전체 글

바쁜 새벽(busymidnight)을 살아보고자 만든 블로그
문제 설명 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력 입력받은 그대로 출력한다. 풀이 입력받은 대로 출력하는 것은 쉽지만 몇 번이나 입력 받는지를 몰라서 자칫하면 런타임 에러가 난다. 백준에서는 런타임 에러 (EOFError)로 힌트를 이미 줬다. 아래와 같이 예외처리를 해주면 깔끔하게 해결 완! while True: try: s = input() print(s) except EOFError: break
find() 함수 문자열 메서드 중 하나로, 문자열에서 특정 부분 문자열을 찾는 기능을 제공합니다. 이 함수는 매개변수로 찾고자 하는 문자열을 받으며, 해당 문자열을 찾으면 첫 번째로 일치하는 위치의 인덱스를 반환하고, 찾지 못한 경우에는 -1을 반환합니다. 기본 문법 str.find(sub[, start[, end]]) sub: 찾고자 하는 부분 문자열입니다. start: 검색을 시작할 인덱스를 지정합니다. 이 값은 생략할 수 있으며, 생략할 경우 문자열의 시작부터 검색합니다. end: 검색을 종료할 인덱스를 지정합니다. 이 값은 생략할 수 있으며, 생략할 경우 문자열의 끝까지 검색합니다. 예시 str = "Hello, World!" print(str.find("o")) # 4 print(str.fin..
문제 설명 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 (1) 아스키코드랑 딕셔너리를 이용했다. 정답이지만 120ms나 걸려서 더 빠른 방법이 필요했다. fr..
아스키(ASCII) 코드는 7비트 이진수로 표현된 문자열을 정의한 미국 국립표준협회(ANSI)의 표준이며, 대표적으로 영문 알파벳, 숫자, 특수 문자 등을 표현하는 데 사용됩니다. 파이썬에서 아스키 코드를 변환하는 방법은 다음과 같습니다. 1. 문자를 아스키 코드로 변환하기 파이썬 내장 함수 ord()를 사용하여 문자를 아스키 코드로 변환할 수 있습니다. ord() 함수는 주어진 문자의 아스키 코드 값을 반환합니다. 예시: print(ord('a')) # 97 print(ord('A')) # 65 print(ord('1')) # 49 2. 아스키 코드를 문자로 변환하기 파이썬 내장 함수 chr()을 사용하여 아스키 코드를 문자로 변환할 수 있습니다. chr() 함수는 주어진 아스키 코드 값에 해당하는 문..
시간 복잡도 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도 빅오 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법 점근적 실행시간을 표기할 때 가장 널리 쓰이는 수학적 표기법 O(1) 입력값이 아무리 커도 실행시간 일정 최고의 알고리즘 O(logn) 실행 시간은 입력값에 영향을 받는다 로그는 매우 큰 입력값에도 크게 영향을 받지 않는 편 대표적으로 이진 검색 O(n) 입력값만큼 실행시간에 영향을 받음, 선형 시간 알고리즘, 정렬되지 않은 리스트에서 최댓값 또는 최솟값을 찾는 경우 모든 입력값을 적어도 한번 이상은 살펴봐야 함 O(nlogn) 병합정렬을 비롯한 대부분 효율 좋은 정렬 알고리즘 입력값이 최선인 경우, 비교를 건너뛰어 O(n)이 될 수 있으며 팀소트가 이런 로..
GitHub Actions은 GitHub에서 제공하는 CI/CD(Continuous Integration/Continuous Deployment) 툴입니다. 이를 사용하여 소스 코드에 대한 자동화된 테스트, 빌드 및 배포 작업을 수행할 수 있습니다. GitHub Actions의 장점 GitHub과 연동되어 있어서 편리하게 사용 가능합니다. 다양한 언어와 프레임워크를 지원합니다. 커뮤니티에서 개발한 다양한 작업(Action)을 사용할 수 있습니다. 도커(Docker)와 연동이 용이합니다. GitHub Actions 사용 방법 1. 작업(Action) 작성하기 먼저 GitHub Actions에서 수행할 작업을 작성해야 합니다. 작업은 YAML 파일 형식으로 작성됩니다. 이 파일은 작업 이름, 실행 환경, 실..
문제 영일이는 생명과학에 관심이 생겨 왕개미를 연구하고 있었다. 왕개미를 유심히 살펴보던 중 특별히 성실해 보이는 개미가 있었는데, 그 개미는 개미굴에서 나와 먹이까지 가장 빠른 길로 이동하는 것이었다. 개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.) 이에 호기심이 생긴 영일이는 그 개미를 미로 상자에 넣고 살펴보기 시작하였다. 미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지 오른쪽 또는 아래쪽으로만 움직였다. 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자. 단, 맨 아래의 가장 오른쪽에 도착한 ..
등차수열 a, d, n=map(int,input().split()) num = a+d for _ in range(1,n-1): num= num+d print(num) 등비수열 a, r, n=map(int,input().split()) num = a*r for _ in range(1,n-1): num= num*r print(num)
쁜새
(안)게으른 블로그