'''
알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어진다.
이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을
이어서 출력합니다.

예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다.
'''

def replace():
    strings = input()
    alphabet = []
    num = 0

    for string in strings:
        if string.isalpha():
            alphabet.append(string)
        else:
            num += int(string)
    alphabet.sort()
    result = ''.join(alphabet)
    print(result + str(num))
replace()

'알고리즘,자료구조' 카테고리의 다른 글

[왕실의 나이트]  (3) 2023.07.10
'''
주어진 8 X 8 체스판에서 , 특정한 좌표가 주어졌을 때,
나이트가 이동 가능한 경로의 경우의 수를 출력 하시오.

나이트는
수평으로 두칸 이동한 뒤에 수직으로 한 칸 이동하거나,
수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동할 수 있습니다.

행의 좌표는 1~8 까지로 표시하며, 열의 좌표는 a~h 까지로 표시합니다.
'''


def chess():
    count = 0
    information = input()
    row = int(information[1])
    # 열의 값은 a~h 까지의 문자로 주어지므로 아스키 코드로 변경 후 (예 : a = 97) a로 빼고 1을 더하면 해당 열의 값을 구할 수 있다.
    # information[0]가 c일 경우는 99 이므로, a=97을 뺀후 , 1을 더하면 열의 좌표인 3이 된다.
    colunm = int(ord(information[0])) - int(ord('a')) + 1

    # 나이트가 이동가능한 좌표를 튜플 리스트로 저장해놓는다.
    # ex) x 좌표가 -2 가 된다는 것은 위로 이동한다는 것, 또한 y 좌표가 1 이 되는 것은 오른쪽으로 이동
    steps = [(-2, 1), (-2, -1), (-1, 2), (1, 2), (2, -1), (2, 1), (1, -2), (-1, -2)]

    for step in steps:
        # 나이트가 이동 가능한지 체크
        # 들어온 행 값 ( information[1])에 x좌표를 더해 계산함
        next_row = row + step[0]
        # 들어온 열 값 ( information[1])에 y좌표를 더해 계산함
        next_colunm = colunm + step[1]

        # 이동 가능한 스텝은 체스 판 8x8 크기 안에 있어야 함.
        if 1 <= next_row <= 8 and 1 <= next_colunm <= 8:
            count += 1
    print(count)


chess()

'알고리즘,자료구조' 카테고리의 다른 글

문자열 재정렬  (0) 2023.07.11

+ Recent posts