구현 유형 문제 풀이

seon·2024년 1월 7일

Algorithm

목록 보기
15/41
post-thumbnail

<문제> 시각⏰


완전 탐색 (Brute Forcing) 유형

예시 코드


<문제> 왕실의 나이트♟

예시 코드

# 현재 나이트의 위치 입력받기
input_data = input() # 예) a1
row = int(input_data[1]) # 행
column = int(ord(input_data[0])) - int(ord('a')) + 1

# 나이트가 이동할 수 있는 8가지 방향 정의
steps = [(-2, -1), (-1, -2), (1, -2), (2, -1), (2, 1), (1, 2), (-1, 2), (-2, 1)]

# 8가지 방향에 대하여 각 위치로 이동이 가능한지 확인
result = 0
for step in steps:
	# 이동하고자 하는 위치 확인
    next_row = row + step[0]
    next_column = column + step[1]
    # 해당 위치로 이동이 가능하다면 카운트 증가
    if next_row >= 1 and next_row <= 8 and next_column >= 1 and next_column <= 8:
    	result += 1
    
print(result)

<문제> 문자열 재정렬

data = input()
result = []
value = 0

# 문자를 하나씩 확인하며
for x in data:
	# 알파벳인 경우 결과 리스트에 삽입
    if x.isalpha():
    	result.append(x)
    # 숫자는 따로 더하기
    else:
    	value += int(x)
# 알파벳을 오름차순으로 정렬
result.sort()

# 숫자가 하나라도 존재하는 경우 가자 ㅇ뒤에 삽입
if value != 0:
	result.append(str(value))

# 최종 결과 출력 (리스트를 문자열로 변환하여 출력)
print('',join.result)

ord() 는 문자를 아스키코드로 바꾸어 주는 함수이다.

profile
🌻

0개의 댓글