본문 바로가기

Learning-log/Algorithm 문풀53

백준(파이썬, python) - 1110번 더하기 싸이클(2022.10.18) 1. 1110번 1) 문제 2) 풀이 3) 문법 및 풀이과정 (1) input값을 받는다. 이 때 나는 숫자로 계산할 거였기 때문에 int로 받았으나 문자열(str)로 보고 index를 위해 푸는 게 더 깔끔한 풀이가 될 것 같다. (2) 사이클 횟수를 세기 위한 count 변수를 0으로 설정한다. 이때 count 정의는 반드시 반복문이 시작되기 전에 해야한다. ( 반복문 내부에 하면 반복될 때마다 기껏 더한 count값이 0으로 리셋되니 주의해야 한다.) (3) num = n 으로 입력값을 다른 변수에 다시 저장한다. 이는 계산 과정을 통해 만들어진 새로운 수를 저장할 변수이다. (4) if문으로 num 과 n이 일치하는지 확인하고 이 때, while문은 True가 나왔을 때 종료하도록 설정해야 한다... 2022. 10. 31.
백준(파이썬, python) - 10871번 (2022.10.17) 1. 10871번 1) 문제 2) 풀이 3) 문법 및 풀이과정 가장 먼저 첫째줄에 두 수가 공백을 두고 한꺼번에 주어지므로 split()을 이용해 두 수를 각각 n,x 변수에 대입한다. 그다음 입력되는 숫자들은 A라는 list에 넣었다. list에 입력된 숫자들 중 x보다 작은 수들만 출력하는 것이 목표이므로, A의 각 값이 x보다 작으면 공백을 간격으로 두고 출력되도록 if문과 print에 end를 활용하였다. 2022. 10. 31.
백준(파이썬, 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.