일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- CNN
- Python
- Java
- 머신러닝야학
- 이것이 자바다
- 데이터베이스
- tensorflow
- 생활코딩 데이터베이스
- 파이썬
- JavaScript
- 연산자
- Database
- MySQL
- 생활코딩 머신러닝야학
- 데이터베이서
- 머신러닝(딥러닝)
- 판다스
- 개발자
- 야학
- LeNet
- reshape
- 생활코딩
- 머신러닝
- 데이터베이스 개론
- flatten
- 카카오클라우드스쿨2기
- pandas
- 딥러닝
- Today
- Total
IT's 우
[Do it! 코딩 테스트-기초편]03-1 배열과 리스트, 03-2 구간 합 본문
03-1 배열과 리스트
백준 11720 숫자의 합
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//숫자의 개수
int N=sc.nextInt();
// 입력값 String 변수 input에 저장한 후 char[] 형 변수로 변환(toCharArray() 사용)
String input=sc.next();
char[] numArray=input.toCharArray();
// numArray 합
int result =0;
for(int i=0; i<numArray.length;i++) {
result+=numArray[i]-'0';//char->int 변환 -'0'
}
System.out.println(result);
}
}
|
cs |
String형으로 입력받아 char[]형으로 변환
백준 1546번 평균
세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.
세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.
출력
첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//과목 개수 입력받기
int N=sc.nextInt();
int max=0; // 성적 최댓값
int sum=0;
//점수 입력
int[] scores=new int[N];
for(int i=0; i<N;i++) {
scores[i]=sc.nextInt();
if(scores[i]>=max) max=scores[i];
sum+=scores[i];
}
//출력
System.out.println((float)sum/max*100/N);
}
}
|
cs |
03-2 구간 합
백준 11659번 구간 합 구하기 4
수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.
출력
총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.
총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine());
int N=Integer.parseInt(st.nextToken());
int M=Integer.parseInt(st.nextToken());
//구간 합 구하기
int[] Sum=new int[N];
st=new StringTokenizer(br.readLine());
for(int i=0; i<N;i++) {
if(i==0) {
Sum[i]+=Integer.parseInt(st.nextToken());
}else {
Sum[i]=Sum[i-1]+Integer.parseInt(st.nextToken());
}
}
//i 번쨰 수에서 j 번째 수까지의 합 -> Sum[j]-Sum[i-1]
for(int a=0; a<M; a++) {
st=new StringTokenizer(br.readLine());
int i=Integer.parseInt(st.nextToken());
int j=Integer.parseInt(st.nextToken());
if(i==1) {
System.out.println(Sum[j-1]);
}else {
System.out.println(Sum[j-1]-Sum[i-2]);
}
}
}
}
|
cs |
배열 i 번째 수에서 j 번째 수까지의 합 -> Sum[j]-Sum[i-1]
백준 11660번 구간 합 구하기2
N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.
예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.
1 | 2 | 3 | 4 |
2 | 3 | 4 | 5 |
3 | 4 | 5 | 6 |
4 | 5 | 6 | 7 |
여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.
표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오.
입력
출력
총 M줄에 걸쳐 (x1, y1)부터 (x2, y2)까지 합을 구해 출력한다.
출처 백준 https://www.acmicpc.net/
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
'알고리즘 > 백준' 카테고리의 다른 글
[java, 동적 계획법 dynamic programming] 백준2193번 이친수 (0) | 2022.08.23 |
---|---|
[java, 깊이우선탐색]백준 13023번- ABCDE(친구 관계 파악하기) (0) | 2022.07.24 |
[Java, 백준, Do it! 코딩 테스트-기초편] 05-1 깊이 우선 탐색, 백준 11724번 - 연결 요소의 개수 (0) | 2022.07.19 |
[java, baekjoon] 백준 10951번: A+B -4 //EOF 오류 방지 (0) | 2022.04.28 |
[java] baekjoon 백준 단계별로 풀기- 3단계 반복문 (0) | 2022.04.26 |