구현63 [ 파이썬(python) ] 백준 20291 - 파일 정리 📍 백준 20291 - 파일 정리 백준 20291 - 파일 정리 ⚡️ 나의 풀이 확장자 뒤의 값만 담을 defaultdict 변수를 선언한다. 공백을 기준으로 분리(split())한다. 동일한 확장자(split()[1])가 입력으로 들어오면 defaultdict에 1씩 더한다. dic.items()를 sorted한다. ' '.join을 사용하여 출력한다. from collections import defaultdict import sys input = sys.stdin.readline n = int(input()) dic = defaultdict(int) for _ in range(n): file = input().rstrip().split('.')[1] dic[file] += 1 for i in sor.. 2021. 5. 24. [ 파이썬(python) ] 백준 9093 - 단어 뒤집기 📍 백준 9093 - 단어 뒤집기 문제: 백준 9093 - 단어 뒤집기 💡 나의 풀이 입력 전체를 뒤집는 것이 아니고 공백을 기준으로 나누고 해당 단어만 뒤집어서 출력하는 문제다. 반복문을 선언하여 i[::-1]를 사용하는 방법과 lambda 를 사용해서 뒤집는 방법 총 2가지로 나누어서 풀었다. import sys input = sys.stdin.readline T = int(input()) # 반복문 선언 for _ in range(T): result = ' '.join([i[::-1] for i in input().split()]) print(result) # 람다 함수 선언 for _ in range(T): print(' '.join(map(lambda x: x[::-1], input().spli.. 2021. 5. 24. [ 파이썬(python) ] 백준 9625 - BABBA 📌 백준 9625 - BABBA 백준 9625 - BABBA 💡 나의 풀이 전형적인 DP(Dynamic Programming)문제였으나, 처음에 문제 그대로 i가 증가하면 바뀌는 문자열을 새로운 배열에 넣고 마지막에 총 몇 개인지 count를 사용하여 풀다가 시간 초과 판정을 받았다. 그래서 어떤 규칙이 있는지 살펴보니까 전체 A, B 총 개수를 구할 필요는 없고 A, B의 개수를 따로따로 구하면 된다. a[i] = a[i-1] + a[i-2]인 전형적인 피보나치(Fibonacci) 수열 형태를 보였다. 나는 DP를 사용할 때 전체 k의 최대값를 선언했는데, 그럴 필요 없이 k+1만큼만 줘서 그때그때 계산해도 된다. 또, 새롭게 배운 점은 a[0] = 1, a[1] = 0 대신, 처음부터 a=[1,0]을.. 2021. 5. 21. [ 파이썬(python) ] n * n 행렬에서 target * target 크기만큼 자르기 📍 n * n 행렬에서 target * target 크기만큼 자르기 가로세로가 동일한 n*n 행렬에서 n보다 작은 target*target 행렬만큼 잘라 출력하고 싶을 때는 다음과 같이 작성하자. 예를 들어, n = 5, target = 3일때는 다음과 같은 과정을 거친다. arr행렬을 초기화해준다. 출력 값이 제대로 나오는지 확인하기 위해 arr은 1부터 차례대로 증가하는 행렬로 초기화한다. 범위를 n으로 하는 이중 반복문을 선언한다. 이때 index오류를 방지하기 위해 n을 target-1로 빼준다. -1을 빼주지 않으면 제일 마지막 행과 열은 계산하지 않으니까 꼭 빼주도록 하자. 이중 반복문안에 이중 반복문을 한번 더 선언한다. 가독성을 위해 each_case라는 함수를 선언했는데, 중요한 점은 출.. 2021. 5. 20. [ 파이썬(python) ] 백준 4396 - 지뢰 📍 백준 4396 - 지뢰 백준 4396 - 지뢰 ⚡️ 나의 풀이 상당히 고생한 문제다. 이 문제를 맞히기 위해 정답을 얼마나 제출했는지 모르겠다. 난이도가 실버 5 였기 때문에 쉽게 풀 줄 알았는데 큰 코 다쳤다. 처음 짰던 코드는 접근 자체를 잘 못했다. 이때까지 n*n 행렬을 초기화 시킬때 무조건 0으로 했는데, 꼭 그렇게 할 필요 없다는 생각이 이 문제를 풀면서 떠올랐다. 이 문제에 다른 모든 지점이 온점(.)으로 표시되어야하는 조건에서 result의 초기값을 .으로 해주면 됐었다. 또, 문제를 완벽하게 이해하지 못했는데, 지뢰가 있는 칸이 열렸다면 지뢰가 있으면서 열린 칸만 별표(*)로 표시하는것이 아니고, 지뢰가 있는 모든 칸이 별표(*)로 처리되어야한다. 도저히 모르겠어서 질문까지 남겼는데 .. 2021. 5. 20. 이전 1 ··· 6 7 8 9 10 11 12 13 다음