본문 바로가기

SWEA

(55)
[Python, 파이썬] SWEA 15941. 평행사변형 평행사변형의 변의 길이 N을 받아서 넓이를 구하는 문제.  T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): N = int(input()) # 정수 N print("#%d %d" %(test_case, N*N))  설명이... 필요한가?이게 왜 D3지?
[Python, 파이썬] SWEA 17642. 최대 조작 횟수 두 개의 정수 변수 A와 B가 있을 때, 값을 같게 하기 위해 가능한 많은 횟수가 얼만지 구하는 문제. - A 에 임의의 소수(prime number)를 더한다.- B 에서 임의의 소수(prime number)를 뺀다. 두 변수에는 가할 수 있는 연산은 각각 이렇다.A는 임의의 소수를 더할 수밖에 없고, B는 뺄 수밖에 없다. 최대 몇 번을 조작하면 두 변수의 값을 같게 할 수 있을까?  T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): A, B = map(int, input().split()) # 변수 A, B answer = -1 # 가능하지 않을 시 -1 if(B-A) > 1: # 두 변수의 차가 2 이상일 때 ..
[Python, 파이썬] SWEA 3032. 홍준이의 숫자 놀이 Ax + By = 1이 되는 x와 y를 계산하는 문제  def extended_euclidean_algorithm(a, b): # Base case if b == 0: return a, 1, 0 # Recursive step gcd, x1, y1 = extended_euclidean_algorithm(b, a % b) x = y1 y = x1 - (a // b) * y1 return gcd, x, yT = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): a, b = map(int, input().split()) # 서로수 a, b answer, x, y = extended_eucl..
[Python, 파이썬] SWEA 11445. 무한 사전 사전 상에 P와 Q사이에 다른 단어가 있다면 “Y”를, 아니면 “N”를 출력하는 문제.  T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): P = input().rstrip() # 단어 P Q = input().rstrip() # 단어 Q post = P+"a" # a 붙이기 answer = "Y" if(post==Q): answer = "N" print("#%d %s" %(test_case, answer))  [문제풀이] 일단 이 문제, 사전상이라 되어있는데 그 사전이 좀 특이하다.보통 알파벳은 a 다음에 b인데 이 사전에는 a 다음에 aa, aaa, aaaa다. 그리고 P와..
[Python, 파이썬] SWEA 11285. 다트 게임 N개의 화살을 던진 위치가 주어질 때, 총 몇 점을 얻었는지 계산하는 문제.  import math T = int(input()) # 테스트 케이스의 수 Tans = [] for test_case in range(1, T+1): N = int(input()) # 화살의 개수 N answer = 0 for _ in range(N): x, y = map(int, input().split()) # 화살이 떨어진 위치 x, y score = math.ceil(math.sqrt(x*x+y*y)/20) # 위치에 따른 점수 계산 if(score==0): answer += 10 elif score    [문제풀이]   이렇게 ..
[Python, 파이썬] SWEA 14555. 공과 잡초 초원에 놓았을 수 있는 공의 개수의 최솟값을 구하는 문제.  T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): field = input() # 초원 answer = 0 N = len(field) # 초원의 길이 i = 0 while(i   [문제풀이]|..(|.||)||||.(). 이렇게 초원에 풀이 쏟아진 형태가 있다.() : 공 1개(| : 풀로 가려진 공 왼쪽|) : 풀로 가려진 공 오른쪽 그럼 이렇게, 아무것도 가려지지 않은 공.그리고 풀로 가려진 공으로 판단해서 각기 세주면 된다. 처음 완전한 공일 경우엔 1개를 세주고,elif로 반쪽만 발견하면 1개씩 세주는 걸로 마무리!
[Python, 파이썬] SWEA 22574. 높은 곳으로 모든 N번의 선택이 끝났을 때 당신이 있을 수 있는 가장 높은 층의 번호를 구하는 문제.  i번째 선택에서, 엘레베이터를 이대로 둘지, 아니면 i층을 올릴지 정할 수 있다.건물의 P층에는 폭탄이 설치되어 있고 이 층에 멈추면 폭탄이 터진다.선택이 모두 끝난 후 올라갈 수 있는 가장 높은 층을 구하는 문제. T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): N, P = map(int, input().split()) # 선택할 수 있는 횟수 N, 폭탄의 위치 P answer = 0 for i in range(1, N+1): answer += i # i층 올라가기 if(answer == P): # 올라간 층..
[Python, 파이썬] SWEA 4579. 세상의 모든 팰린드롬 2 *라는 와일드카드가 있는 특정한 패턴이 주어질 때, 이에 매치되는 팰린드롬을 찾는 문제.  T = int(input()) # 테스트 케이스의 수 Tfor test_case in range(1, T+1): word = list(input()) # 패턴 입력받기 N= len(word) # 패턴의 길이 result = "Exist" i = 0 while(word[i] != '*' and word[N-(i+1)] != '*' and i   [문제풀이] SWEA 4522 문제의 확장판으로, *를 사용한 패턴과 매치되는 단어가 있는지 구하는 문제.*는 길이가 0 이상인 임의의 알파벳들로 대체될 수 있는 와일드 카드다. ?는 대칭되는 문자로 대치해서 펠린드롬인지 확인하면 됬지만, *..