본문 바로가기

전체 글176

백준(파이썬) - 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.
백준(파이썬, python) - 10950번, 8393번, 25304번 1. 10950번 1) 문제 2) 풀이 3) 문법 및 풀이과정 테스트 케이스 개수를 input으로 입력받은 후, 그 수만큼 두 수를 입력 받아 합을 출력하는 작업을 반복해야 한다. 테스트 케이스 수만큼 반복해야 하므로 for 구문을 활용하고 range에 테스트케이스 개수 값을 입력했다. 2. 8393번 1) 문제 2) 풀이 3) 문법 및 풀이과정 우선 입력값을 받고, 합을 위해 더할 sum이란 변수를 설정한다. 그 후 n값까지 i를 sum에 더한 후 for문이 끝나면 sum을 print하도록 했다. 이 때, print가 for문 내에 있으면 각 i마다 sum 값이 출력되므로 print는 for문 내가 아닌 바깥에 입력해야 한다. 3. 25304번 1) 문제 2) 풀이 3) 문법 및 풀이과정 영수증의 총 .. 2022. 10. 20.
백준(파이썬,python) - 2739번 (2022.10.16) 1. 2739번 1) 문제 2) 풀이 3) 문법 및 풀이과정 - for i in range(m,n) i가 m부터 n-1까지(m이상 n미만을 의미) 아래의 명령을 반복하도록 하는 반복문이다. 따라서 a가 입력값으로 입력되면 a*1부터 a*9가 출력되도록 for문을 활용하였다. 이 때, 출력 값은 'a * i ='도 함께 출력되어야 했으며, 이 값들 사이에 띄어쓰기가 있으므로 콤마(',')를 이용해 연결해줬다. 2022. 10. 20.
백준(파이썬) - 2884번, 2525번, 2480번(2022.10.13) 1. 2884번 1) 문제 2) 풀이 3) 문법 및 풀이과정 시간에서 분 단위가 45분보다 작을 때는 시에서 내림을 해와야 한다. 따라서 분이 45분 이상일 때와 아닐 때로 나누어서 if문을 작성해야 했다. 분이 45분이 넘어갔을 때는 그냥 분에서 45를 빼면 되지만 아닐 때는 1시간을 분 단위로 바꾼 후 45를 빼준다. 그럼 결과적으로 (입력된 분)+60-45=(입력된 분)+15가 최종적으로 45분을 뺀 후의 시간 중 분이 된다. 마지막으로 주의해야 할 것은 시간이 24시간 표현으로 사용되기 때문에 시가 0일 때가 있다는 것이다. 이 때는 elif처럼 시간에서 1을 빼는 것이 아닌 24-1=23이 되어야 하므로 출력에서 시간을 23으로 표기되도록 else문을 작성한다. 2. 2525번 1) 문제 2) .. 2022. 10. 20.
백준(파이썬) - 14681번(2022.10.13) 1) 문제 2) 풀이 3) 문법 및 풀이과정 각 사분면의 x와 y값의 부호에 따라 if ,elif문을 작성해준다. 2022. 10. 19.
백준(python,파이썬) - 2753번(2022.10.13) 1) 문제 2) 풀이 3) 문법 및 풀이과정 윤년이 되는 경우는 아래와 같다. (1) 4의 배수이면서 100의 배수는 아닐 때 (2) 400의 배수일 때 이 두 조건을 각각 if와 elif의 조건으로 달아 1이 print되도록 하고 나머지는 0이 print되도록 한다. 2022. 10. 19.
백준(python, 파이썬) - 9498번(2022.10.13) 1) 문제 2) 풀이 3) 문법 및 풀이과정 if 문 input을 받고 그 값을 기준으로 if문을 작성하는 문제라 크게 어렵진 않았다. 지금 블로그를 작성하면서 내가 짠 코드를 다시 보니, 첫번째 elif 문 부터는 굳이 비교식을 and로 두개 쓰지 않고, x>=80 , x>=70 이런식으로 간단하게 써도 됐었겠다는 생각이 든다. 2022. 10. 19.
백준(파이썬) - 1330번 두 수 비교하기(2022.10.13) 1) 문제 2) 풀이 3) 문법 및 풀이과정 - if / elif / else If 와 elif 는 뒤의 문장이 참일 때 아래 문장을 실행하도록 한다. else는 앞의 if문이 참이 아니어서 실행이 안됐을 때, else에 해당하는 명령이 실행되도록 한다. 2022. 10. 19.
백준(파이썬,python) - 2588번, 10171번, 10172번, 25083번 (2022.10.13~14) 1. 2588번 1) 문제 2) 풀이 3) 문법 및 풀이과정 이 문제의 대부분의 문법은 그 동안 풀어온 백준 문제들을 통해 배운 문법이라 설명은 생략하겠다. 다만, 두번째 줄의 입력되는 값의 경우, (3),(4),(5)를 구하기 위해서는 각 자릿값이 아닌 그 숫자만을 곱해야하는 문제가 있기에 처음부터 int값으로 입력받지 않았다. ( 처음에는 int로 입력 받고 100 또는 10으로 나눈 몫을 결과로 하는 방법도 시도했으나 위 풀이가 훨씬 간결하고 깔끔해서 이 방법을 최종 답안으로 택했다.) b를 int로 변환하지 않으면 b는 string이 되므로 index를 이용해 원하는 위치의 문자를 추출할 수 있다. 백의 자리, 십의 자리 등 원하는 숫자를 index를 통해 추출한 후 int로 바꿔준 후 a와 곱하.. 2022. 10. 19.
백준(파이썬) - 3003번 10430번(2022.10.12) 1. 3003번 1) 문제 2) 풀이 3) 문법 및 풀이과정 - List(리스트) 와 int() list는 대괄호 [ ] 와 쉼표를 이용하여 숫자 모음을 간단하게 표현할 수 있다. 리스트는 어떤 자료형도 포함할 수 있으며, 심지어 비어있는 것도 가능하다. 리스트는 인덱스를 통해 각 자리 숫자를 가리키고 표현할 수 있으며 가장 앞 숫자는 0부터 시작하여 뒤로 갈 수록 1씩 증가한다. 즉, 위의 chessnum 리스트를 예로 들자면 , chessnum[0] = 1/ chess[1]=1 / chess[2] = 2 ... 와 같이 리스트의 각 요소에 인덱스가 붙는다. 반대로 chessnum[-1]은 가장 오른쪽에 있는 요소부터 시작한다. chessnum = list[1,1,2,2,2,8] 로 지정했더니 type.. 2022. 10. 19.