본문 바로가기

백준풀이27

백준(파이썬, python) - 2941번 (2022.10.31) 1. 2941번 1) 문제 2) 풀이 3) 문법 및 풀이과정 엄청난 시행착오와 착오와 착오를 거듭해 최종적으로 맞은 문제였다. 사이트의 테스트케이스 예제가 정말 잘 나와있다는 생각이 들었다. 한 테스트 케이스에서 답이 틀려서 그거에 초점을 두고 코드를 수정하면 다른 테스트 케이스에서 문제가 생기는 많은 착오 끝에 최종적으로 코드를 완성했다. 정말 뿌듯하고 이 문제 맞았을 때 행복했다 .. (1) 주어진 크로아티아 알파벳을 list에 넣는다. (2) 문자열을 입력받는다. (3) 최종적으로 알파벳 개수를 세기 위해 필요할 len(word)를 정의한다.(이 부분은 문제를 풀다 필요해져서 앞에 입력한 것이다. 미리 부가 설명을 하자면 이 때 변수로 설정해 놓지 않으면 나중에 word라는 입력값이 for문 내에서.. 2022. 10. 31.
백준(파이썬, 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.