본문 바로가기

백준42

백준(파이썬, python) - 2438번, 2439번 (2022.10.17) 1. 2438번 1) 문제 2) 풀이 3) 문법 및 풀이과정 입력값을 받고 그 입력값 만큼 for문을 반복한다. 그리고 "문자열" * 숫자 = "문자열"이 숫자만큼 반복된다는 문법을 이용해서 *을 한개씩 늘려가며 입력값의 개수만큼 입력될 때까지 출력되도록 한다. 2. 2439번 1) 문제 2) 풀이 3) 문법 및 풀이과정 2438번과 같은 방식으로 for문을 활용했다. 다만, 이 때는 *이 오른쪽으로 정렬되어야 하므로 * 앞에 " "(공백)을 입력값에서 *의 개수를 뺀 만큼 출력되게 하여 *이 모두 오른쪽 정렬로 나열되도록 하였다. 2022. 10. 31.
백준(파이썬, python) - 11022번 A+B-8 1. 11022번 1) 문제 2) 풀이 3) 문법 및 풀이과정 지난 번에 업로드 했던 11021번과 풀이과정은 거의 유사하다. 이 문제의 경우 출력 형태에 a + b = (sum) 꼴로 각각의 변수 값에 따라 달라지는 곳이 세 개이므로 format()함수를 이용해봤다. 우선 출력시킬 내용의 문자를 큰따옴표를 이용해 입력하고 그 사이에 {}를 입력하고 그 안에 0,1,2와 같이 index를 입력한다. 문자열을 끝내는 큰따옴표 뒤에 '.'(온점)을 입력하여 format 함수를 사용하여 각각 0,1,2 index에 들어갈 변수를 입력해주면 된다. 2022. 10. 31.
백준(파이썬, python) - 10809번 알파벳 찾기 (2022.10.28) 1. 10809번 1) 문제 2) 풀이 3) 문법 및 풀이과정 이번 문제를 풀고 실습해보는 것이 정말 중요하다고 생각했다. 분명 파이썬 문법 공부할 때 find함수를 봤는데, 직접 코드를 짤 때는 바로 떠올리지 못했으니 말이다. 한편으로는 이렇게 직접 코드를 짜보는 것도 좋은 경험인 것 같기도 하다. a부터 z를 list에 넣는다. 이 때 넣는 방식은 띄어쓰기 없이 abcd....z까지를 하나의 문자열로 설정해도 되고 아스키코드를 활용할 수도 있다. 가장 간단한 방법은 find를 이용하는 것이었지만 find함수를 이용하지 않고 코드를 짤 때는 for문을 이중으로 활용했다. 첫번빼 for문은 각 알파벳을 반복하는 것이었고 두번째 for문은 그 알파벳이 입력값으 0번째 글자부터 마지막 글자까지와 비교하여 일.. 2022. 10. 28.
백준(파이썬,python) - 11720번 숫자의 합(2022.10.28) 1. 11720번 1) 문제 2) 풀이 3) 문법 및 풀이과정 공백 없이 입력된 숫자열을 문자로 처리하여 for 구문을 통해 각 index에 대해 int() 함수를 통해 sum에 더해준 후 최종적으로 sum을 출력하는 방법을 사용했다. 이때 number를 input() 값으로 받는 걸 for문 안에 했다가 IndexError 메시지를 받기도 했다. 이렇게 되면 각 i마다 for문이 실행될 때 number값을 새로 받게 되므로 5 12345 위 테스트케이스를 확인해볼때 나는 12345를 다섯번이나 입력해야 15라는 값을 얻을 수 있는 상황이 되어버린 것이다. 하지만 처음엔 이를 생각지 못하고 바로 엔터를 쳤다가 IndexError를 받아버렸다 ,, 아무것도 입력하지 않고 엔터를 쳤으니 주어진 문자열보다 초.. 2022. 10. 28.
백준(파이썬) - 4673번, 1065번 (2022.10.22~.23) 1. 4673번 1) 문제 2) 풀이 3) 문법 및 풀이과정 이 문제를 풀기 위해 생각해 본 것은 하나의 수가 주어졌을 때 그 수가 self number인지 판별한 방법이 있는가? 였다. 실제로 방법이 있을 수도 있으나 내가 고민해 본 방법 내에서는 없었고, 그래서 두번째로 생각해낸 방법은 d(n)을 통해 만들어진 수를 1부터 10000 사이에서 제거를 하고 남은 수를 출력하는 것이었다. 이를 위해 먼저 실행할 수가 들어있는 allnumbers 집합과 (따로 집합을 만들어둔 이유는 이후에 여기서 self number가 아닌 수를 제거하여 self number만 남기기 위함이다.) self number가 아닌 수를 넣을 remove_number 집합을 만들었다. allnumbers에는 1부터 10000의 .. 2022. 10. 23.
백준(파이썬) - 15552번, 11021번 1. 15552번 1) 문제 2) 풀이 3) 문법 및 풀이과정 이 문제를 통해 sys.stdin.readline() 이라는 문법을 배웠으며, 여러 줄을 입력 받을 때에 input으로 여러 줄을 받으면 시간초과가 발생할 수 있다는 것도 배웠다. - sys.stdin.readline() input으로 여러 입력값을 받다보면 시간초과가 발생할 수 있고 이럴 때 이 문법 사용 이를 사용하기 위해선 import sys를 해야함. 그 외 사용법은 input과 유사 2. 11021번 1) 문제 2) 풀이 3) 문법 및 풀이과정 문자열과 숫자를 이어서 출력하고 싶을 때, 그 동안은 ','(콤마)를 이용해서 연달아 붙여왔다. 다만 이 때의 문제점은 ','로 연결한 것들 사이에 공백도 함께 출력된다는 점이다. 이 문제에서.. 2022. 10. 23.