본문 바로가기

Problem Solving/SWEA29

[SWEA|파이썬] 9280. 진용이네 주차타워 (D3) 문제 https://tinyurl.com/2makj3nh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 from collections import deque T = int(input()) for test_case in range(1, T + 1): n, m = map(int, input().split()) charge = [] car_w = [] for _ in range(n): charge.append(int(input())) for _ in range(m): car_w.append(int(input())) parking = [0 for _ in range(n)] parking_car = 0 #현재.. 2023. 5. 21.
[SWEA|파이썬] 1954. 달팽이 숫자 (D2) 문제 https://tinyurl.com/2ejpvj24 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 💡 접근방식 달팽이 숫자의 규칙은 인덱스의 방향이 j+1, i+1, j-1, i-1 순서대로 변한다는 것이다. 인덱스는 가장 처음에는 n번 바뀌고 이후부터 n-1, n-1, n-2, n-2, ..., 1번 변한다. 예를 들어 위 사진의 배열은 4x4이므로 n = 4이다. 오른쪽으로 인덱스가 이동하는 j+1은 4번, 아래쪽으로 인덱스가 이동하는 i+1은 3번, 왼쪽으로 인덱스가 이동하는 j-1은 3번, 위쪽으로 인덱스가 이동하는 i-1은 2번, 다시 j+1은 2번, i+1은 1번, j-1은 1번 인덱.. 2023. 5. 20.
[SWEA|파이썬] 3499. 퍼펙트 셔플 (D3) 문제 https://tinyurl.com/2laaz55d SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 import math T = int(input()) for test_case in range(1, T + 1): n = int(input()) mid = math.ceil(n/2) dec = list(input().split()) #mid를 기준으로 덱을 나눈다 dec1 = dec[:mid] dec2 = dec[mid:] arr = [] while dec1 or dec2: if dec1:#dec1에 카드가 존재한다면 arr.append(dec1.pop(0))#arr의 마지막에 dec1의 첫번째 카드.. 2023. 5. 20.
[SWEA|파이썬] 5356. 의석이의 세로로 말해요 (D3) 문제 https://tinyurl.com/2pfog5wt SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = int(input()) for test_case in range(1, T + 1): arr = [] for _ in range(5): a = input() a += "*" * (15 - len(a))#15개로 맞춰서 * 삽입 arr.append(a) answer = ['' for _ in range(15)]#세로로 읽어 저장할 변수배열 for i in range(15): for j in range(5): answer[i] += arr[j][i]#차례대로 저장 print("#{}".format.. 2023. 5. 20.
[SWEA|파이썬] 1230. [S/W 문제해결 기본] 8일차 - 암호문3 (D3) 문제 https://tinyurl.com/2pf6lu89 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = 10 for test_case in range(1, T + 1): ans = 0 input() #원본 암호문 길이 code = list(input().split()) #원본 암호문 input() #명령어의 개수 command = list(input().split()) #명령어 for i in range(len(command)): if command[i] == "I": x, y = int(command[i+1]), int(command[i+2]) for j in range(y): #y개 ins.. 2023. 5. 19.
[SWEA|파이썬] 1873. 상호의 배틀필드 (D3) 문제 https://tinyurl.com/2zo7gzgf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = int(input()) for test_case in range(1, T + 1): h, w = map(int, input().split()) board = [] for _ in range(h): board.append(list(input())) input() str_arr = input() px, py = 0, 0 #현재 전차의 위치 좌표 head = "" #현재 전차의 머리 방향 for i in range(h): for j in range(w): if board[i][j] in ["^",.. 2023. 5. 19.
[SWEA|파이썬] 13428. 숫자 조작 (D3) 문제 https://tinyurl.com/2mm8f22b SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = int(input()) for test_case in range(1, T+1): n = list(input()) min_num, max_num = ''.join(n), ''.join(n) for i in range(len(n)-1): for j in range(i+1, len(n)): if i == 0 and n[j] == "0":#맨앞자리가 0이 될 경우 아래 코드 실행x continue n[i], n[j] = n[j], n[i]#위치 바꾸기 min_num = min(min_num, ''... 2023. 5. 18.
[SWEA|파이썬] 3131. 100만 이하의 모든 소수 (D3)-에라토스테네스의 체 문제 https://tinyurl.com/2l7j6bxz SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 import math sosu = [0 for _ in range(1000001)] for i in range(2, int(math.sqrt(1000001))+1): if sosu[i] == 1: continue for j in range(i*2, 1000001, i): sosu[j] = 1 for i in range(2, 1000001): if sosu[i] == 0: print(i, end=" ") 백만까지의 수를 모두 소수판별해야 하는 문제이다. 시간초과를 대비하여 O(N^1/2)의 시간 복잡.. 2023. 5. 16.
[SWEA|파이썬] 5948. 새샘이의 7-3-5 게임 (D3) 문제 https://tinyurl.com/2qq9o9nt SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = int(input()) for test_case in range(1, T+1): arr = list(map(int, input().split())) ans = 0 ans_set = set() for i in range(7): for j in range(7): for k in range(7): if i != j and j != k and k != i: ans_set.add(arr[i] + arr[j] + arr[k]) print("#{} {}".format(test_case, sorted(an.. 2023. 5. 16.
[SWEA|파이썬] 11315. 오목 판정 (D3) 문제 https://tinyurl.com/2o9nbr4g SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 더보기 ❌ Fail Code T = int(input()) for test_case in range(1, T+1): n = int(input()) arr = [] ans = "NO" for _ in range(n): a = input() if a.count("ooooo"): ans = "YES" else: arr.append(a) if ans == "NO": d_str = '' #대각선문자열 d_str2 = [[] for _ in range((n-1)*2)] for i in range(n): str.. 2023. 5. 16.
[SWEA|파이썬] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (D3) 문제 https://tinyurl.com/2fhmlnvh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 def dfs(n, m, cnt): if cnt == m: return n return n * dfs(n, m, cnt+1) T = 10 for test_case in range(1, T+1): int(input()) n, m = map(int, input().split()) print("#{} {}".format(test_case, dfs(n, m, 1))) 참고 재귀로 팩토리얼 구현 (https://dojang.io/mod/page/view.php?id=2353) 파이썬 코딩 도장: 31.2 재.. 2023. 5. 15.
[SWEA|파이썬] 1221. [S/W 문제해결 기본] 5일차 - GNS(D3) 문제 https://tinyurl.com/2g7zuzur SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🐍파이썬 T = int(input()) for test_case in range(1, T+1): _, k = input().split() arr = list(input().split()) stack = [[] for _ in range(10)] dic = {"ZRO":0, "ONE":1, "TWO":2, "THR":3, "FOR":4, "FIV":5, "SIX":6, "SVN":7, "EGT":8, "NIN":9} for i in arr: stack[dic[i]].append(i)#stack의 각 배열에 문.. 2023. 5. 14.
반응형