728x90
'코딩도장' 카테고리의 다른 글
문자열 압축하기 (0) | 2021.07.13 |
---|---|
CamelCase를 Pothole_case 로 바꾸기! (0) | 2021.07.13 |
모스부호 해독 (0) | 2021.07.13 |
문자열 압축하기 (0) | 2021.07.13 |
---|---|
CamelCase를 Pothole_case 로 바꾸기! (0) | 2021.07.13 |
모스부호 해독 (0) | 2021.07.13 |
https://codingdojang.com/scode/465?answer_mode=hide
문자열 압축하기
String zip = "aaabbccccccd";
char[] zipArray = zip.toCharArray();
String result = String.valueOf(zipArray[0]); //a부터 시작
int number = 1;
for (int i = 0; i < zipArray.length - 1; i++) {
if(zipArray[i] == zipArray[i + 1]) { //다음으로 오는 문자와 중복될 경우
number++;
} else {
result += String.valueOf(number); //반복횟수 추가
result += String.valueOf(zipArray[i + 1]); //중복되지 않은 다음문자 추가
number = 1;
}
if (i == zipArray.length - 2) { //if (i + 1 == zipArray.length - 1)
result += number; //마지막 문자에도 횟수 표시하기
}
}
System.out.println(result);
[실행결과]
a3b2c6d1
Spiral Array (0) | 2021.07.13 |
---|---|
CamelCase를 Pothole_case 로 바꾸기! (0) | 2021.07.13 |
모스부호 해독 (0) | 2021.07.13 |
https://codingdojang.com/scode/484?answer_mode=hide
CamelCase를 Pothole_case 로 바꾸기!
String word1 = "codingDojang";
String word2 = "numGoat30";
for (int i = 0; i < word1.length(); i++) {
if (Character.isUpperCase(word1.charAt(i))) {
System.out.print("_" + Character.toLowerCase(word1.charAt(i)));
} else {
System.out.print(word1.charAt(i));
}
}
System.out.println("");
for (int i = 0; i < word2.length(); i++) {
if (Character.isUpperCase(word2.charAt(i)) || Character.isDigit(word2.charAt(i))) {
System.out.print("_" + Character.toLowerCase(word2.charAt(i)));
} else {
System.out.print(word2.charAt(i));
}
}
[실행결과]
coding_dojang
num_goat_3_0
public static void main(String[] args) {
String str2 = invocation("codingKorea");
System.out.println(str2);
System.out.println(invocation("hello3World"));
System.out.println(invocation("numGoat30"));
System.out.println("numGoat30");
//파라미터 타입이 맞아야 한다.
} //main 메소드 끝
//반환타입(String) 메소드명(invocation)(파라미터(String camel))
public static String invocation(String camel) {
String result = "";
for (int i = 0; i < camel.length(); i++) {
if (Character.isUpperCase(camel.charAt(i))) {
result += "_" + Character.toLowerCase(camel.charAt(i));
} else if (Character.isDigit(camel.charAt(i))) {
result += "_" + camel.charAt(i);
}else {
result += camel.charAt(i);
}
}
return result; //임시로 애러 없애기
}
[실행결과]
coding_korea
hello_3_world
num_goat_3_0
numGoat30
Spiral Array (0) | 2021.07.13 |
---|---|
문자열 압축하기 (0) | 2021.07.13 |
모스부호 해독 (0) | 2021.07.13 |
https://codingdojang.com/scode/469?answer_mode=hide
모스부호 해독
String word = ".... . ... .-.. . . .--. ... . .- .-. .-.. -.--";
String[] morse = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....",
"..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.",
"--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
String[] alp = {"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"};
word = word.replaceAll(" ", " & "); //"스페이스바 두번(__)"을 " & "으로 모두 전환
System.out.println(word);
String[] mcode = word.split(" "); //mcode의 값을 스페이스바를 기점으로 분할하기
for (int i = 0; i < mcode.length; i++) { //나누어진 mcode의 길이만큼 반복
for (int j = 0; j < morse.length; j++) {
if (mcode[i].equals(morse[j])) { //mcode와 값이 같은 morse의 index 찾기
System.out.print(alp[j]); //morse와 같은 index 인 alp값 출력
break;
}
}
if(mcode[i].equals("&")) { //mcode의 값이 &일때
System.out.print(" "); //스페이스바(_) 출력
}
}
[실행 결과]
.... . & ... .-.. . . .--. ... & . .- .-. .-.. -.--
HE SLEEPS EARLY
Spiral Array (0) | 2021.07.13 |
---|---|
문자열 압축하기 (0) | 2021.07.13 |
CamelCase를 Pothole_case 로 바꾸기! (0) | 2021.07.13 |