티스토리 뷰
1.
- 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램 작성
- 대소문자 구분 x
- 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다
- 문자열은 영어 알파벳으로만 구성
import java.util.Scanner;
public class Main {
public static int solution(String str, char c){
int answer = 0;
str = str.toUpperCase();
c = Character.toUpperCase(c);
System.out.println("str : " +str);
System.out.println("c : "+ c);
/*for(int i=0;i<str.length();i++)
{
if(str.charAt(i)==c) answer++;
}*/
for(char st : str.toCharArray()){
if(st==c) answer++;
}
return answer;
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("===문자열 입력 후, 찾을 문자 입력===");
String str = sc.next();
char c = sc.next().charAt(0);
System.out.println(solution(str, c));
}
}
2.
- 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하여 출력하는 프로그램을 작성
- 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않음
- 문자열은 영어 알파벳으로만 구성
import java.util.Scanner;
public class Main {
public static String solution(String str){
String answer="";
for(char x : str.toCharArray()){
if(Character.isLowerCase(x)) answer+=Character.toUpperCase(x);
else answer+=Character.toLowerCase(x);
}
return answer;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("입력받은 문자열 : "+ str);
System.out.println("=======변환중========");
System.out.println(solution(str));
}
}
3.
- 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성
- 문장속의 각 단어는 공백으로 구분
- 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어지고, 문장은 영어 알파벳으로만 구성
- 첫 줄에 가장 긴 단어를 출력
- 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 출력
방법 1.
import java.util.Scanner;
public class Main {
public static String solution(String str){
String answer="";
int minVal = Integer.MIN_VALUE;
String[] strAry = str.split(" ");
for(String x: strAry){
if(x.length()>minVal){
minVal = x.length();
answer = x;
}
}
return answer;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(solution(str));
}
}
방법 2. indexOf, subsrting 사용
import java.util.Scanner;
public class Main {
public static String solution(String str){
String answer="";
int minVal = Integer.MIN_VALUE, pos;
String[] strAry = str.split(" ");
while ((pos = str.indexOf(' '))!=-1){
String tmp =str.substring(0,pos);
int len =tmp.length();
if(len>minVal){
minVal = len;
answer = tmp;
}
str = str.substring(pos+1);
}
///마지막 글자 체크
if(str.length()>minVal) answer = str;
return answer;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(solution(str));
}
}
'코테공부' 카테고리의 다른 글
[코테공부] Stack, Queue (1) (0) | 2023.07.10 |
---|---|
[코테공부] HashMap, HashSet, TreeSet (0) | 2023.06.20 |
[코테공부] String 문자열3 (0) | 2023.01.11 |
[코테공부] Stirng 문자열 문제 2 (0) | 2023.01.07 |
댓글
최근에 올라온 글
최근에 달린 댓글
링크
- Total
- Today
- Yesterday