728x90
반응형
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
제한사항
age는 자연수입니다.
age ≤ 1,000
PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.
입출력 예
age result
23 "cd"
51 "fb"
100 "baa"
입출력 예 설명
입출력 예 #1
age가 23이므로 "cd"를 return합니다.
입출력 예 #2
age가 51이므로 "fb"를 return합니다.
입출력 예 #3
age가 100이므로 "baa"를 return합니다.
내 풀이
[Java]
class Solution {
public String solution(int age) {
String answer = "";
StringBuilder sb = new StringBuilder();
while(age > 0){
char c = (char) ('a' + (age % 10));
sb.insert(0, c);
age /= 10;
}
answer = sb.toString();
return answer;
}
}
[C]
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
char* solution(int age) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(1000);
char c[5];
sprintf(c, "%d", age);
int i = 0;
while(c[i] != '\0'){
answer[i] = 'a' + c[i] - '0';
i++;
}
answer[i] = '\0';
return answer;
}
[Python]
def solution(age):
answer = ""
for i in str(age):
c = ord('a') + int(i)
answer += chr(c)
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/120834
이 번 문제는 아스키(ASCII) 코드를 이해하는 것입니다.
기본적으로 외울 아스키 코드는
코드 문자
48 0
65 A
97 a
0 NULL
728x90
반응형
'코딩테스트 > 프로그래머스 입문' 카테고리의 다른 글
[코딩테스트 Lv.0] 순서쌍의 개수 (0) | 2024.01.09 |
---|---|
[코딩테스트 Lv.0] 진료 순서 정하기 (0) | 2024.01.08 |
[코딩테스트 Lv.0] 배열 자르기 (0) | 2024.01.07 |
[코딩테스트 Lv.0] 짝수의 합 (0) | 2024.01.06 |
[코딩테스트 Lv.0] 양꼬치 (0) | 2024.01.06 |