글
프로그래머스 C# 모스 부호1(IndexOf, foreach, Split, P, J)
프로그래밍
2022. 12. 31. 00:32
728x90
SMALL
using System;
public class Solution {
public string solution(string letter) {
string answer = "";
string[] morse = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." };
// Split()은 문자열을 잘라주고 현재 공백을 기준으로 자름
foreach(string a in letter.Split(" "))
{
answer += Convert.ToChar(Array.IndexOf(morse, a) + 97);
}
// IndexOf()는 동일한 문자열이 존재할 경우 문자열의 위치를 반환한다. 문자열의 위치에 97을 더해 Convert.ToChar()로 변환하면 그에 맞는 문자로 변환된다.
return answer;
}
}
파이썬
////
def solution(letter):
answer = ''
morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
letter_ls = letter.split()
for l in letter_ls:
answer += morse[l]
return answer
//////////
def solution(letter):
answer = ''
letter = letter.split()
morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
for c in letter:
answer += morse[c]
return answer
자바
/////
import java.util.Map;
import java.util.HashMap;
class Solution {
public String solution(String letter) {
String answer = "";
Map<String, String> morse = new HashMap<>(){
{
put(".-","a");
put("-...","b");
put("-.-.","c");
put("-..","d");
put(".","e");
put("..-.","f");
put("--.","g");
put("....","h");
put("..","i");
put(".---","j");
put("-.-","k");
put(".-..","l");
put("--","m");
put("-.","n");
put("---","o");
put(".--.","p");
put("--.-","q");
put(".-.","r");
put("...","s");
put("-","t");
put("..-","u");
put("...-","v");
put(".--","w");
put("-..-","x");
put("-.--","y");
put("--..","z");
}
};
String[] letters = letter.split(" ");
for(String str : letters){
answer += morse.get(str);
}
return answer;
}
}
/////
class Solution {
public String solution(String letter) {
String answer = "";
String[] mos = {".-","-...","-.-.","-..",".","..-.","--.","....","..",
".---","-.-",".-..","--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-","-.--","--.."};
String[] alpha = {"a","b","c","d","e","f","g","h","i","j","k","l","m",
"n","o","p","q","r","s","t","u","v","w","x","y","z"};
String[] str = letter.split(" ");
int idx = 0;
for(int i =0; i<str.length; i++)
{
for(int j =0; j<mos.length; j++)
{
if(mos[j].equals(str[i]))
{
idx = j;
break;
}
}
answer += alpha[idx];
}
return answer;
}
}
728x90
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# K의 개수(10으로 나눈 나머지 확인, 계속 10으로 나누기, P, J) (0) | 2022.12.31 |
---|---|
프로그래머스 C# 2차원으로 만들기(2차원 배열, int[,], P, J) (0) | 2022.12.31 |
프로그래머스 C# A로 B 만들기(Concat, Linq, OrderBy, P, J) (0) | 2022.12.30 |
프로그래머스 C# 팩토리얼(while, for, P, J) (0) | 2022.12.30 |
프로그래머스 C# 중복된 문자 제거(Distinct, Linq, string.Concat) 자바 파이썬 (0) | 2022.12.30 |