본문 바로가기

알고리즘/SWEA19

SWEA D3 20019. 회문의 회문 (python) 회문의 회문 풀이 문제는 일단 회문이다. 그런데 회문 안에서 또 회문이 있어야한다. 문제에서 적힌 것을 그대로 실행해주면된다. S는 회문이다. S의 처음 (N-1)/2글자가 회문이다. S의 마지막 (N-1)/2글자가 회문이다. 이 조건을 만족시켜주면 되고, python에서는 아주 간단하게 코드를 구성해서 만들 수 있다. def solution(S): # 회문일 때 시작 N = len(S) if S == S[::-1]: if S[:N//2] == S[:N//2][::-1] and S[N//2+1:] == S[N//2+1:][::-1]: return 'YES' else: return 'NO' return 'NO' T = int(input()) for testcase in range(1, T+1): S = i.. 2024. 3. 1.
SWEA D3 10570. 제곱 팰린드롬 수 (python) 제곱 팰린드롬 수 풀이 정말 간단하게 풀었다. for에 if에 if에 if를 사용해 봤다. 나 자신이 회문이 어야 하고, 루트값도 회문이 어야 하기 때문에 이렇게 사용했다. 2번째 if문은 루트값이 정수로 떨어지는지 확인하기 위해 사용했다. T = int(input()) for testcase in range(1, T+1): A, B = map(int,input().split()) tenet = [] for N in range(A, B+1): if str(N) == str(N)[::-1]: if N**0.5 == int(N**0.5): if str(int(N**0.5)) == str(int(N**0.5))[::-1]: tenet.append(N) print(f'#{testcase} {len(tenet)}') 2024. 3. 1.
SWEA D3 15941.평행사변형 (python) 평행사변형 풀이 문제를 보고 평행사변형의 넓이와 마름모의 넓이 구하는 공식을 계속봤다. 그런데 문제를 다시 보니 내가 잘 못 생각하고 있었음을 깨달았다. 가장 넓은 평행사변형의 넓이를 출력하라. 이런... 정사각형의 넓이를 출력하면 된다. 따라서 풀이는 아래와 같다. T = int(input()) for testcase in range(1, T+1): N = int(input()) S = N ** 2 print(f'#{testcase} {S}') 2024. 3. 1.
SWEA D3 12368. 24시간 (python) 24시간 풀이 어... 몹시 간단하다. 모듈러 연산자만 쓸 줄 알면 끝. T = int(input()) for testcase in range(1, T+1): A, B = map(int, input().split()) C = A + B answer = C % 24 print(f'#{testcase} {answer}') 2024. 2. 28.
SWEA D3 13218. 조별과제 (python) 조별과제 풀이 이게 왜 D3?라는 생각이 드는 문제이다. 몫과 나머지를 계산할 줄 안다면 금방 풀린다. T = int(input()) for testcase in range(1, T + 1): N = int(input()) answer = N // 3 print(f'#{testcase} {answer}') 2024. 2. 28.
SWEA D3 15612. 체스판 위의 룩 배치 (python) 체스판 위의 룩 배치 풀이 룩은 체스에서 가로 세로로 쭈우욱 갈 수 있는 녀석이다. 맞이 장기의 차와 같은 녀석이지. 이 녀석이 서로 영향을 안받게 8 by 8 칸의 보드판에 놓아져 있는지를 판단하는 문제이다. 룩이 안놓여 있는 곳은 '.'으로 룩이 놓여 있는 곳은 'O'로 되어있다. 총 8개의 룩이 놓여야 하는데, 그러면 우선 1. 행을 확인해서 한줄에 여러 개가 있거나, 아무것도 없으면 안 됨. 2. 열을 확인해서 이미 해당열에 룩이 있어도 안됨. 이 2가지를 판단하여 풀이를 했다. 그래서 아래처럼 풀이를 했고, 해결되었다. def solution(board): # 열을 확인하기 위한 용도 column = [0] * 8 # 룩이 같은 열이나 같은 행에 있는지 확인 for i in range(8): #.. 2024. 2. 27.