cyphen156
백준-문자열 5622 다이얼 본문

위 그림과 같은 다이얼 전화기가 있다. 전화를 걸려면 해당 숫자가 맨 오른쪽 하단에 위치해야 한다.
한 칸을 이동하는데 걸리는 시간은 1초가 걸린다 숫자 1-> 2초, 숫자 0 -> 11초
알파벳입력을 숫자로 대체해야 한다.
제약사항
- str is always upperCase
- 1 < strLength <= 15
주의 사항
그림을 주의해서 보자
1과 0은 문자에 대응하지 않음
26개문자를 8개의 숫자로 처리해야함
문자 갯수가 일정하지 않음
C 풀이
다이얼_5622.c
/**
* 백준 다이얼_5622
* 위 그림과 같은 다이얼 전화기가 있다. 전화를 걸려면 해당 숫자가 맨 오른쪽 하단에 위치해야 한다.
* 한 칸을 이동하는데 걸리는 시간은 1초가 걸린다 숫자 1-> 2초, 숫자 0 -> 11초
* 알파벳입력을 숫자로 대체해야 한다.
*
* 제한사항
*****************************************
* str is always upperCase *
* 1 < strLength <= 15 *
*****************************************
*
*
*
* 주의
* 그림을 주의해서 보자
* 1과 0은 문자에 대응하지 않음
* 26개문자를 8개의 숫자로 처리해야함
* 문자 갯수가 일정하지 않음
* ABC / DEF / GHI / JKL / MNO / PQRS / TUV / WXYZ
*
* 풀이시간 30분
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int result = 0;
char str[16];
scanf("%s", str);
for (int i = 0; str[i] != '\0'; ++i)
{
int temp = ((str[i] - 'A') / 3) + 3;
// PQR / STU / VWX / YZ
// -> PQRS / TUV / WXYZ
if (str[i] == 'S' || str[i] == 'V' || str[i] == 'Y' || str[i] == 'Z')
{
--temp;
}
result += temp;
}
printf("%d\n", result);
return 0;
}
C++ 풀이
다이얼_5622.cpp
/**
* 백준 다이얼_5622
* 위 그림과 같은 다이얼 전화기가 있다. 전화를 걸려면 해당 숫자가 맨 오른쪽 하단에 위치해야 한다.
* 한 칸을 이동하는데 걸리는 시간은 1초가 걸린다 숫자 1-> 2초, 숫자 0 -> 11초
* 알파벳입력을 숫자로 대체해야 한다.
*
* 제한사항
*****************************************
* str is always upperCase *
* 1 < strLength <= 15 *
*****************************************
*
*
*
* 주의
* 그림을 주의해서 보자
* 1과 0은 문자에 대응하지 않음
* 26개문자를 8개의 숫자로 처리해야함
* 문자 갯수가 일정하지 않음
* ABC / DEF / GHI / JKL / MNO / PQRS / TUV / WXYZ
*
* 풀이시간 30분
*/
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string str;
int result = 0;
cin >> str;
for (char ch:str)
{
int temp = ((ch - 'A') / 3) + 3;
if (ch == 'S' || ch == 'V' || ch == 'Y' || ch == 'Z')
{
--temp;
}
result += temp;
}
cout << result << '\n';
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace · GitHub
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
백준-심화 1 25083 새싹 (0) | 2025.01.20 |
---|---|
백준-문자열 11718 그대로 출력하기 (0) | 2025.01.20 |
백준-문자열 2908 상수 (1) | 2024.09.30 |
백준-문자열 1152 단어의 개수 (3) | 2024.09.25 |
백준-문자열 2675 문자열 반복 (0) | 2024.09.25 |