설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.출력
첫 줄에 해당 문자의 개수를 출력한다.
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str = sc.nextLine();
char ch = sc.next().charAt(0);
System.out.println(find(ch,str));
}// main
private static int find(char ch, String str) {
int count = 0;
char[] str1 = str.toUpperCase().toCharArray();
for(char element: str1) {
if(element == Character.toUpperCase(ch)) {
count++;
}//if
}//for
return count;
}// find
}//end class
- 입력받는다
- 입력 받은 값들을 다 대문자로 변환한다.
- 비교하여 카운트한다.
- 값을 반환하고 출력한다
선배님들의 정답 방법과 차이점 그리고 느낀점 : 비슷했다. 없음.
설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.입력
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.출력
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String str = input();
while(str.length() > 100 ) {
str = input();
continue;
}// while
System.out.println(change(str));
}// main
private static String input(){
Scanner sc=new Scanner(System.in);
String str = sc.nextLine();
return str;
}// input
private static String change(String str) {
char[] ch = str.toCharArray();
str ="";
for(char ch1 : ch) {
if(ch1 <= 90) {
str+= Character.toLowerCase(ch1);
} else {
str+= Character.toUpperCase(ch1);
}// if - else
}// for
return str;
}// find
}//end class
1.입력 받는다
2.100자이상은 걸러낸다.
3.대문자와 소문자를요소 하나씩 불러 아스키코드로 비교해 역전시킨다.
선배님들의 정답 방법과 차이점 그리고 느낀점 : isLowerCase() 메소드를 이용하여 더 짧고 간결하게 표현했다. 메소드 더 익혀야 한다고 깨달음.
설명
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.입력
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.출력
첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String str = input();
while(str.length() > 100 ) {
str = input();
continue;
}// while
System.out.println(find(str));
}// main
private static String input(){
Scanner sc=new Scanner(System.in);
String str = sc.nextLine();
return str;
}// input
private static String find(String str) {
String [] arr = str.split(" ");
str = "";
for(String element : arr) {
if(str.length()<element.length()) {
str = element;
} else {;;}
}// for
return str;
}// find
}//end class
- 입력을 받고 길이가 100을 넘는지 거른다.
- 입력받은 문장을 단어별로 정리 string 배열에 담는다.
-공백 문자열을 기준으로 나눈다. split()사용- 하나씩 꺼내서 length를 비교한다.
- 가장 큰 length의 단어를 출력
선배님들의 정답 방법과 차이점 그리고 느낀점 : indexOf() 등 을 이용한 방법 등을 보고서 다양한 방법으로 사용가능하다고 느꼈음. 내가 한 것도 괜찮다 느낌