반응형

분류 전체보기 624

백준 2567번 색종이 - 2 파이썬

리뷰구현 문제를 오랜만에 접해서 그런지 많이 헤매었다. 색종이 넓이 구하는 문제보다는 난이도가 높은 것 같았다.문제 풀이100 * 100 크기의 2중 배열을 0으로 초기화 해준 후 입력 받은 x, y좌표 값의 +10만큼을 모두 1로 바꾸어 주었다.이후 이중 for문을 통해 해당 좌표가 1일 경우 상하좌우로 인접한 좌표의 값이 0일 경우 길이를 더해주었다.문제에 색종이가 도화지 밖으로 나가는 경우는 없다고 정의 하였으므로 가장자리에 인접한 경우도 길이를 더해주었다.추천 반례없음정답 코드def q2567(): # 백준 2567번 색종이 - 2 파이썬 n = int(input()) dp = [[0] * 101 for _ in range(101)] result = 0 for _ in ..

백준 2309번 일곱 난쟁이 파이썬

리뷰브론즈1 문제 치고는 생각보다 어려웠다. 브루트포스 알고리즘 문제를 많이 연습해야 겠다.문제 풀이입력될 난쟁이의 수는 9명으로 고정, 난쟁이 7명의 키를 더했을때 정확히 100이 일치한다면 해당 값을 리턴해주면 된다.즉 9명의 난쟁이 키의 합에서 겹치지 않는 두 난쟁이를 선택하여 해당 난쟁이들의 키를 빼주면 된다.2중 for문을 사용했기에 위 조건을 만족할 경우 해당 난쟁이를 리스트에서 제거해 주고 break를 통해 for문을 빠져나왔다. 주의 : 여기서 실수한 점은 lst[i]와 lst[j]의 값을 a, b와 같은 변수로 초기화 해준 후 remove를 해주어야 한다. 그렇지 않고 lst.remove(lst[i])와 같이 실행했을 경우 lst.remove(lst[j])는 엉뚱한 난쟁이를 리스트에서 제..

백준 10825번 국영수 파이썬

리뷰개인적으로 매우 쉬웠다. 자료구조 정렬 시 람다 함수를 사용할줄 안다면 누구나 쉽게 풀 수 있을 듯문제 풀이학생수와 점수를 리스트로 받아오고 리스트 정렬 시 key값으로 조건에 맞게 정렬해 주었다.특이 사항으로는 점수는 1보다 크거나 같고, 100보다 작거나 같은 자연수이므로 람다 함수 내에서 각 인자를 int로 변환해 주었다. 추천 반례없음정답 코드def q10825(): # 백준 10825번 파이썬 국영수 import sys n = int(sys.stdin.readline()) lst = [sys.stdin.readline().split() for _ in range(n)] lst.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[..

백준 16496번 큰 수 만들기 파이썬

리뷰나의 첫번째 플래티넘 문제 도전기였다.자료구조, 그리디 알고리즘, 정렬에는 자신이 있었기에 문제를 읽었을 때 플래티넘 문제가 이렇게 쉽다고? 라는 생각이 들었다.문제풀이처음 생각했을 땐 리스트를 문자열로 받아와 문자열 수로 오름차순 1차 정렬 후 int로 변환 하여 내림차순으로 2차 정렬 하는 방식으로 접근했으나 질문 게시판에 있던 반례에 걸리게 되었다. 그래서 수로 주어질 범위가 10억보다 작거나 같은 음이 아닌 정수이므로 문자열의 길이가 10 이상이 되도록 곱해주어 오름차순으로 정렬 후 마지막에 reverse=True 처리해 주었다. 그렇게 되면 한자릿수의 숫자가 입력 되더라도 0이 아닌 경우 항상 10억 이상의 수가 되기 때문에 예외 케이스 없이 정렬이 되었다. 이후 리스트내 요소를 join 해..

728x90
반응형