[백준/c++] 5218번 알파벳 거리

2022. 2. 4. 15:10· Koala - 5기/기초 알고리즘 스터디

문제

길이가 같은 두 단어가 주어졌을 때, 각 단어에 포함된 모든 글자의 알파벳 거리를 구하는 프로그램을 작성하시오.

두 글자 x와 y 사이의 알파벳 거리를 구하려면, 먼저 각 알파벳에 숫자를 할당해야 한다. 'A'=1, 'B' = 2, ..., 'Z' = 26. 그 다음 y ≥ x인 경우에는 y-x, y < x인 경우에는 (y+26) - x가 알파벳 거리가 된다.

예를 들어, 'B'와 'D' 사이의 거리는 4 - 2 = 2이고, 'D'와 'B' 사이의 거리는 (2+26) - 4 = 24이다.

입력

첫째 줄에 테스트 케이스의 수 (< 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 두 단어가 공백으로 구분되어져 있다. 단어의 길이는 4보다 크거나 같고, 20보다 작거나 같으며, 알파벳 대문자로만 이루어져 있다.

출력

각 테스트 케이스 마다 각 글자의 알파벳 거리를 공백으로 구분해 출력한다.

예제 입력 1 

5
AAAA ABCD
ABCD AAAA
DARK LOKI
STRONG THANOS
DEADLY ULTIMO

예제 출력 1 

Distances: 0 1 2 3
Distances: 0 25 24 23
Distances: 8 14 19 24
Distances: 1 14 9 25 1 12
Distances: 17 7 19 5 1 16

[ 문제분석 ]

글자수가 같은 두 단어가 한 칸의 띄어쓰기를 사이에 두고 한 줄씩 나란히 입력된다.

글자수가 같으니 각 단어의 각 자릿수마다의 거리를 계산해서 출력하는 문제이다.

알파벳 거리는 앞의 알파벳의 순서에 뒤의 알파벳의 순서를 뺀 것이다.

예제의 첫번째 줄을 예시로 본다면, A와 A, A와 B, A와 C, A와 D의 거리를 계산해서 각각 출력하면 된다.

만약 앞의 단어가 뒤의 단어보다 알파벳 순서가 뒤라면, 뒤의 알파벳 순서에 알파벳의 개수 26을 더한 후 앞의 알파벳 순서를 빼면 알파벳 거리가 나온다.

[ 코드 ]

 

[ 문제풀이 ]

몇 번 입출력 할것인지 변수 t로 입력받는다.

두 단어를 순서대로 a, b로 입력받은 후 어차피 a와 b의 자릿수는 같으니 a의 자릿수만큼 for문을 돌려서 단어 a와 b의 각 글자의 순서를 비교한다.

b의 순서가 a의 순서보다 크다면 그냥 b-a를 하면 되지만, 아니라면 위에서 설명했듯 b의 순서에 26을 더한 후 a의 순서를 빼면 된다.

저작자표시 (새창열림)

'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글

[백준 / python] 5789번 한다 안한다  (1) 2022.02.06
[백준|13732] Falling apples  (2) 2022.02.05
[백준/python] 3986. 좋은 단어  (0) 2022.01.31
[백준/python] 15813번:너의 이름은 몇 점이니?  (0) 2022.01.30
[백준/python] 9226:도깨비말  (0) 2022.01.30
'Koala - 5기/기초 알고리즘 스터디' 카테고리의 다른 글
  • [백준 / python] 5789번 한다 안한다
  • [백준|13732] Falling apples
  • [백준/python] 3986. 좋은 단어
  • [백준/python] 15813번:너의 이름은 몇 점이니?
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
Koala항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1884)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • BFS
  • dp
  • C++
  • 백준
  • 파이썬
  • 백트래킹
  • dfs
  • BOJ

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준/c++] 5218번 알파벳 거리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.