BaekJoon Oline Judge - Step 6
1152. 단어의 개수
앞 뒤 공백 꼭 고려하기!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
String word[] = str.split(" ");
int cnt = 0;
for(int i=0; i<word.length; i++) {
if(!word[i].equals("")) {
cnt++;
}
}
System.out.println(cnt);
}
}
2577. 숫자의 개수
그동안 사용했던 방법이 비효율적인 것 같아서 구글링해서 문자열 메소드를 사용해보았다.
valueOf, charAt을 이용함!
-0을 해주지 않았을 때 오류가 발생하여 찾아보았더니, -0을 해주지 않으면 문자로 인식한다고 한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int num3 = scan.nextInt();
scan.close();
String res = String.valueOf(num1*num2*num3);
int su[] = new int[10]; //카운트할 배열
//0을 빼주는 이유는 정수로 변환해야 하므로
for(int i=0; i<res.length(); i++) {
su[res.charAt(i) - '0']++;
}
for(int i=0; i<su.length; i++) {
System.out.println(su[i]);
}
}
}
8958. OX 퀴즈
문자열의 길이 만큼 for문 돌리기
연속적으로 O가 들어오면 카운트 계속 증가시키고, X가 들어오면 카운트 0으로 초기화하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int result[] = new int[num];
for(int i=0; i<num; i++) {
int count = 0, sum = 0;
String score = scan.next();
for(int j=0; j<score.length(); j++) {
if(score.charAt(j) == 'X') {
count = 0;
} else count++;
sum = sum + count;
}
result[i] = sum;
}
scan.close();
for(int i=0; i<num; i++) {
System.out.println(result[i]);
}
}
}
2920. 음계
배열이 오름차순, 내림차순인지 판단하여 출력하는 문제!
선택정렬 사용해서 카운트 증가하면서 풀었다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num[] = new int[8];
int tmp, count = 0;
for(int i=0; i<8; i++) {
num[i] = scan.nextInt();
}
scan.close();
for(int i=0; i<7; i++) {
for(int j=i; j<8; j++) {
if(num[i] > num[j]) {
tmp = num[i]; num[i] = num[j]; num[j] = tmp;
count++;
}
}
}
if(count==0)
System.out.println("ascending");
else if(count==28)
System.out.println("descending");
else
System.out.println("mixed");
}
}
10039. 평균 점수
40점 미만일 때 40점으로 점수 바꿔주기.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score[] = new int[5];
for(int i=0; i<5; i++) {
int input = scan.nextInt();
if(input < 40) {
score[i] = 40;
} else
score[i] = input;
}
scan.close();
int sum = 0;
for(int i=0; i<5; i++) {
sum = sum + score[i];
}
System.out.println(sum/5);
}
}
'CS > Baekjoon' 카테고리의 다른 글
[Algorithm] 백준 단계별로 풀어보기 - 단계 8. 규칙 찾기 (1) (0) | 2019.04.18 |
---|---|
[Algorithm] 백준 단계별로 풀어보기 - 단계 7. 문자열 (0) | 2019.04.17 |
[Algorithm] 백준 단계별로 풀어보기 - 단계 5 (0) | 2019.04.15 |
[Algorithm] 백준 단계별로 풀어보기 - 단계 4 (0) | 2019.04.07 |
[Algorithm] 백준 단계별로 풀어보기 - 단계 3 (0) | 2019.03.30 |