멍발자의 개발
0427 연습 문제 본문
1. 홀수번째 문자를 다음 짝수번째 문자로 바꾸어 출력하십시오. 계속되는 문자가 없는 경우는 그 대로 출력합니다. 예를 들어, "abcde"에 대해 "badce"라고 출력합니다.
public class Exam1101 {
public static void main(String[] args) {
var data = "abcde";
var builder = new StringBuilder();
char t = 0;
for(int i=0; i<data.length(); i++) {
if(i % 2 == 0) {
t = data.charAt(i);
} else {
builder.append(data.charAt(i));
builder.append(t);
}
}
if(builder.length() < data.length()) {
builder.append(t);
}
var result = builder.toString();
System.out.println(builder.toString());
}
}
//결과
badce
2. 하나 뒤의 요소에 비해 큰 편을 포함한 배열을 만들어 봅시다. 마지막 요소는 마지막으로 그대 로 출력합니다. 예를 들어 {3, 6, 9, 4, 2, 1, 5}에 대해 {6, 9, 9, 4, 2, 5, 5}}가 생성됩니다.
public class Exam1102 {
public static void main(String[] args) {
int[] n = {3, 6, 9, 4, 2, 1, 5};
for(int i=0; i<n.length-1; i++) {
if(n[i] < n[i+1]) {
n[i] = n[i+1];
}
}
System.out.println(Arrays.toString(n));
}
}
//결과
[6, 9, 9, 4, 2, 5, 5]
1. 받은 문자열의 알파벳을 처음은 소문자로 출력해, 0을 받으면 다음로부터 알파벳은 대문자에, 1 을 받으면 다음으로부터의 알파벳을 소문자로 출력해 봅시다. 예제: aa0bcd1efg1gg0abc -> aaBCDefgggABC
public class Exam1103 {
/**
* 받은 문자열의 알파벳을 처음은 소문자로 출력하고
* 0을 받으면 다음로부터 알파벳은 대문자
* 1을 받으면 다음으로부터의 알파벳을 소문자로 출력
*/
public static void main(String[] args) {
var data = "aa0bcd1efg1gg0abc";
boolean isCheck = true;
for(char ch : data.toCharArray()) {
if(ch == '0') {
isCheck = false;
}else if(ch == '1') {
isCheck = true;
}else{
System.out.print(isCheck? ch : (char)(ch - 32));
}
}
}
}
//결과
aaBCDefgggABC
2. 문자열을 받고 숫자 이외는 그대로 출력하고, 숫자가 오면 직전의 문자를 그 숫자에 1을 더한 문자수만큼 출력하세요. 예제: ab0c1ba2bc9cd1 -> abbcccbaaaabccccccccccccddd
public class Exam1104 {
/** 문자열을 받고 숫자 이외는 그대로 출력
*숫자가 오면 직전의 문자를 그 숫자에 1을 더한 문자수만큼 출력
*/
public static void main(String[] args) {
var data = "ab0c1ba2bc9cd1";
char t = 0;
for(char ch : data.toCharArray()) {
if (ch > 90) {
System.out.print(ch);
} else {
System.out.print(String.valueOf(t).repeat(ch - 47));
}
t = ch;
}
}
}
//결과
abbcccbaaaabccccccccccccddd
Comments