본문 바로가기

728x90
반응형

백준 write-up

(91)
[백준] Best Grass : 11123번 - Python https://www.acmicpc.net/problem/6186 6186번: Best Grass Bessie is planning her day of munching tender spring grass and is gazing out upon the pasture which Farmer John has so lovingly partitioned into a grid with R (1
[백준] 애너그램 : 6996번 - Python https://www.acmicpc.net/problem/6996 6996번: 애너그램 첫째 줄에 테스트 케이스의 개수( 만약 두 단어가 주어졌을 때, 두 문자열이 아나그램이라면 sorted 함수의 인자로 줬을 때 두 개의 값이 같게 나온다. "정렬했을 때의 값이 같다!!!" (2) [Python] sorted()와 sort()의 차이점 -> sort 함수는 리스트명.sort() 형식으로 "리스트형의 메소드"이며 리스트 원본 값을 직접 수정 -> sorted 함수는 sorted(리스트명) 형식으로 "내장 함수"이며 리스트 원본 값은 그대로이고 정렬 값을 반환 # sort 함수 arr1 = [5, 2, 8] arr2 = arr1.sort()# 원본을 정렬하고 수정 print('arr1: ', arr1) p..
[백준] 도비의 난독증 테스트 : 2204번 - Python https://www.acmicpc.net/problem/2204 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] 대소문자 구분 없이 정렬 -> 영문 문자열 리스트를 정렬할 때에는 기본적으로 대소문자를 구분하여 소팅하는데 sort함수에 key=str.lower라는 파라미터를 넣으면, 대소문자 구분없이 자연스럽게 정렬할 수 있음! arr = ['bbb', 'AAA', 'DDD', 'CCC', 'aaa'] # 대소문자 구분하여 정렬 arr.sort() print(arr)..
[백준] 양 한마리... 양 두마리... : 11123번 - Python https://www.acmicpc.net/problem/11123 11123번: 양 한마리... 양 두마리... 얼마전에 나는 불면증에 시달렸지... 천장이 뚫어져라 뜬 눈으로 밤을 지새우곤 했었지. 그러던 어느 날 내 친구 광민이에게 나의 불면증에 대해 말했더니 이렇게 말하더군. "양이라도 세봐!" www.acmicpc.net 문제를 풀면서 몰랐던 개념 - 파이썬의 재귀 최대 깊이 기본 설정에 대한 개념 ⬇️⬇️⬇️ 아래 링크 참고 ⬇️⬇️⬇️ https://ye5ni.tistory.com/178 문제의 접근 방법 - DFS 알고리즘 사용하기 - 방문한 노드와 방문하지 않은 노드 구분하기 - 입력 받은 그리드를 저장할 수 있는 공간을 만들기 내가 막혔던 부분 - DFS 알고리즘을 구상하는 방법 - 양..
[백준] 종이자르기 : 2628번 - Python https://www.acmicpc.net/problem/2628 2628번: 종이자르기 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선 www.acmicpc.net 문제의 접근 방법 가로 점선을 잘랐을 때는 그 값을 세로길이에 저장하고, 세로 점선을 잘랐을 때는 그 값을 가로길이에 저장해야 한다. (ex) 3번 가로점선을 따라 자를 경우 그 잘린 값이 세로의 길이가 된다. 내가 막혔던 부분 - 문제의 접근 방법 문제 풀이 방법 (1) 가로와 세로 길이 w,h 입력받기 (2) 자를 횟수 n번 입력받기 (3) 나중에 길이를 직사각형의 길이를 계산하기 위해 width, he..
[백준] 세수정렬 : 2752번 - Python https://www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 문제의 접근 방법 - 입력 받을 숫자 n개 입력받기 - 입력 받은 숫자들을 정렬하기 - 출력 형식에 맞춰서 정렬된 원소들 출력하기 내가 막혔던 부분 코드를 간결하게 구현하지 못함. 문제 풀이 방법 (1) 세 숫자를 일일히 입력받기, 일일히 형변환, 하나하나 append 함수를 사용해서 리스트에 추가 -> map 함수를 사용해서 한번에 입력받기, 정수로 형변환, 리스트에 넣기를 한번에 할 수 있음. (2) 반복문을 돌려서 출력하기 -> 그냥 인덱스를 찍어서 print 해주어도..
[백준] 최후의 승자는 누구? : 12760번 - Python https://www.acmicpc.net/problem/12760 12760번: 최후의 승자는 누구? 입력의 첫 줄에 플레이어의 수 \(N\)과 가진 카드 수 \(M\)이 입력 된다. \(( 2 \le N \le100, 1 \le M \le 100 )\) 그 다음 \(N\)줄에 걸쳐 각 플레이어가 들고 있는 카드에 적힌 숫자들이 입력된다. \(( 1 \le\) 카 www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] 비어있는 배열, 리스트 확인하기 -> 리스트가 비어있는지 아닌지 여부를 확인하기 위해서는 'not'을 사용해서 알 수 있음! # case 1 # arr = [] if not arr: print("arr is empty") else: print("arr is not ..
[백준] 잃어버린 괄호 : 1541번 - Python https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제를 풀면서 몰랐던 개념 - for 문 range 자리에 리스트 원소를 split 메소드로 나눈 값들만큼의 반복을 설정할 수 있다. 문제의 접근 방법 - '-' 부호가 나오기 전까지 모두 괄호 안으로 묶어서 더해버리기 - 수식이 주어지면 '+'를 기준으로 먼저 더해주고 남겨진 값들을 빼주면 항상 최솟값을 만들 수 있다. 내가 막혔던 부분 처음 아이디어를 떠올리는 과정에서 막혔다. -> 마이..

728x90
반응형