hoon DevLog

백준 Java 반복문 2739, 10950, 8393, 25304, 25314, 15552, 11021, 11022, 2438, 2439, 10952, 10951 본문

코딩테스트/백준

백준 Java 반복문 2739, 10950, 8393, 25304, 25314, 15552, 11021, 11022, 2438, 2439, 10952, 10951

개발한기발자 2023. 4. 10. 09:44
반응형

문제출처 : https://www.acmicpc.net/step/3

 

반복문 단계

코딩 공부를 잘 하여 이렇게 long long long long...을 칠판에 적는 일이 없도록 합시다.

www.acmicpc.net


이번 포스팅은 반복문!

반복문 역시 난이도는 ★!

총 12문제 Get it!!!

[2739] 구구단


  
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
for (int i = 1; i < 10; i++) {
System.out.println(a+" * "+i+" = "+ a*i);
}
}
}

[10950]  A+B - 3


  
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int c = sc.nextInt();
for (int i = 0; i < c; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
sc.close();
}
}

[8393] 합


  
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
System.out.println(a*(a+1)/2);
}
}

[25304] 영수증 성공


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int X = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
int total = 0;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
total += Integer.parseInt(st.nextToken()) * Integer.parseInt(st.nextToken());
}
if (X == total)
System.out.println("Yes");
else
System.out.println("No");
}
}

[25314] 코딩은 체육과목입니다


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n / 4; i++) {
sb.append("long ");
}
br.close();
sb.append("int");
System.out.println(sb);
}
}

[15552] 빠른 A+B


  
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// BufferedReader.readLine() 으로 입력 받음.
int N = Integer.parseInt(br.readLine());
// 각 StringTokenizer 의 토큰 (분리되어있는 문자)을 반환
// 반환되는 타입은 String 이므로 Integer.parseInt를 통해 int형으로 변환
StringTokenizer st;
for (int i = 0; i < N; i++) {
// 주어지는 두 정수는 문자열 분리를 위해 매 반복마다 StringTokenizer 을 생성과 동시에 문자를 입력받음
st = new StringTokenizer(br.readLine()," ");
// 바꾼 두 토큰을 더해준 값을 BufferedWriter.write() 추가
bw.write((Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()))+ "\n");
}
//거의 필수적으로 버퍼를 비운 뒤(flush) 닫아줘야함(close).
br.close();
bw.flush();
bw.close();
}
}

[11021] A+B - 7


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= N; i++) {
String str = br.readLine();
int target = str.indexOf(" ");
int result = Integer.parseInt(str.substring(0,target)) + Integer.parseInt(str.substring(target + 1));
sb.append("Case #"+ i + ": " + result+"\n");
}
br.close();
System.out.println(sb);
}
}

[11022] A+B - 8


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= N; i++) {
String str = br.readLine();
int target = str.indexOf(" ");
int result = Integer.parseInt(str.substring(0,target)) + Integer.parseInt(str.substring(target + 1));
sb.append("Case #"+ i + ": " +str.substring(0,target)+ " + " +str.substring(target + 1)+ " = " + result+"\n");
}
br.close();
System.out.println(sb);
}
}

[2438] 별 찍기 - 1


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int a = Integer.parseInt(br.readLine());
for(int i = 0; i < a; i++) {
for(int j = 0; j < i + 1; j++) {
sb.append("*");
}
sb.append("\n");
}
br.close();
System.out.println(sb);
}
}

[2439] 별 찍기 - 2


  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int a = Integer.parseInt(br.readLine());
for(int i = 1; i <= a; i++) {
for(int j = 0; j < a-i; j++) {
sb.append(" ");
}
for (int k = 1; k <= i; k++) {
sb.append("*");
}
sb.append("\n");
}
br.close();
System.out.print(sb);
}
}

[10952] A+B - 5


  
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while(true){
String str = br.readLine();
int target = str.indexOf(" ");
int result = 0;
if (str.substring(0,target).equals("0") && str.substring(target+1).equals("0")){
break;
}else result = Integer.parseInt(str.substring(0,target)) + Integer.parseInt(str.substring(target + 1));
sb.append(result+"\n");
}
br.close();
System.out.print(sb);
}
}

[10951] A+B - 4


  
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while( (str=br.readLine()) != null ){
st = new StringTokenizer(str," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append("\n");
}
br.close();
System.out.print(sb);
}
}

언뜻 코드가 복잡해 보이지만, 로직상으로 크게 깊게 생각해야 하거나 복잡한 부분은 없었다.

다만 입출력 시 BufferedReader, BufferedWriter, StringBuilder, StringTokenizer 등을 사용하다 보니,

소스가 다소 생소하게 느껴질 수 있다.(라고 나는 처음에 생각이 들었었다...ㅠㅠ)

왜 출력을 이렇게 했는가? 의 부분은 백준 문제 풀이 시 주의 할 점 포스팅을 참고하면 되겠다.

반복문에서 특히 구구단이나, 별 찍기 로직 구성은 단골 중에 단골이니, 익숙해지면 좋을 듯하다.

 

만약 여기서 막히고 어렵다면?!!?!?

아래 링크에서 조건문에 대해서 다시 알아보고 오시면 좋을 듯!

조건문과 반복문 : https://psip31.tistory.com/7

 

[Java] 제어문(조건문, 반복문)

안녕하세요. 이번 포스팅은 제어문에 대해서 알아보도록 하겠습니다. 제어문은 크게 조건문, 반복문으로 나뉩니다. 조건문 : 조건식과 문장으로 구성(주로 if, switch case문) 반복문 : 반복적인 작

psip31.tistory.com

 

728x90
반응형