컴공선배_22Days 챌린지 4일차

아사비치즈스틱·2022년 2월 24일
0

Titile

💡 연산자 / 조건문 / 반복문 2 + 백준 문제 풀이

🧡 연산자, 조건문, 반복문 1 정리


🧡 for문


💡 while문과 같은 반복문이지만 로직의 응집성, 간편화를 위해 (초기화,종료조건, 반복문)을 으로 정리한 반복문

형식

for(초기화;종료조건;반복실행) {
		반복적으로 실행할 구문
}
  • 초기화 : 반복문이 실행될 때 1회 실행
  • 종료조건 : 초기화가 실행된 후에 종료조건이 실행된다. 종료조건의 값이 false일 때까지 반복문의 중괄호 구간의 코드가 반복 실행된다.
  • 중괄호 구간의 실행이 끝나면 반복 실행이 실행된다. 일반적으로 이 곳에 i++와 같이 변수를 증가시키는 로직이 위치하고, 이것이 실행된 후에 종료조건이 실행된다. 종료조건이 false가 될 때까지 이 과정이 반복된다.

다음의 while문과 for문은 동일한 결과를 출력한다!

while문

int i = 0;

while(i<10){
		System.out.prinltn("computer Challenge +i");
	i++;
}

for문

for(int i = 0; i++ ; i<10){
	System.out.printnln("computer Challenge + i");
}

출력 결과

computer Challenge 1
computer Challenge 2
computer Challenge 3
computer Challenge 4
computer Challenge 5
computer Challenge 6
computer Challenge 7
computer Challenge 8
computer Challenge 9

🧡 반복문의 제어


Break

💡 반복문의 작업에서 중간에 중단시키고 싶을 때 사용한다.
  • 마치 집에서 영화를 보다가 밖으로 나가야 될 일이 있을 경우 영화를 종료하는 버튼을 누르는 것이라고 생각하면 된다.
for (int i = 0; i < 10; i++) {
            if (i == 5) //만약 i의 값이 5라면
                break;  //종료해라
            System.out.println("Coding Everybody " + i);
        }

출력문

coding everybody 0
coding everybody 1
coding everybody 2
coding everybody 3
coding everybody 4

continue

💡 반복문 작업에서 일정 조건의 실행은 멈추면서 전체의 반복은 지속하게 한다
  • 마치 집에서 영화를 보다가 잔인한 장면이 나오자 앞으로 가기 버튼을 선택하여 잔인한 장면 이외의 장면부터 보기 시작한다 라고 생각하면 된다.
for (int i = 0; i < 10; i++) {
            if (i == 5) //만약 i의 값이 5라면 
                continue; // 뛰어 넘고 실행해라
            System.out.println("Coding Everybody " + i);
        }
 
    }

출력결과

Coding Everybody 0
Coding Everybody 1
Coding Everybody 2
Coding Everybody 3
Coding Everybody 4
Coding Everybody 6 //5를 뛰어 넘고 6을 출력한다.
Coding Everybody 7
Coding Everybody 8
Coding Everybody 9

🧡 백준 알고리즘 풀이


14681번

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
 
		Scanner in = new Scanner(System.in);
        
		int X = in.nextInt();
		int Y = in.nextInt();
		
		if(X > 0) {
			if(Y > 0) {
				System.out.print(1);
			} 
			else {
				System.out.print(4);
			}
		} 
		
		else {
			if(Y > 0) {
				System.out.print(2);
			} 
			else {
				System.out.print(3);
			}
		}
	}
 
}

2884번

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
    
		Scanner in = new Scanner(System.in);
		
		int H = in.nextInt(); // 시
		int M = in.nextInt(); // 분
		in.close();
		
		if(M < 45) {
			H--;		// 시(hour) 1 감소
			M= 60 - (45 - M); 	// 분(min) 감소
			if(H < 0) {
				H = 23;
			}
			System.out.println(H + " " + M);
		}
		else {
			System.out.println(H + " " + (M - 45));
		}
	}
}

2525번

import java.util.*;
 
class Main {
      public static void main(String[] args) {
          Scanner sc=new Scanner(System.in);
          int h=sc.nextInt();
          int m=sc.nextInt();
          int value =sc.nextInt();
          
          m+=value;
          if(m>=60) {
              while(m>=60) {
                  m-=60;
                  h++;
                  if(h>=24) {
                      h=0;
                  }
              }
          }
          System.out.println(h+" "+m);
     }
}

2480번

import java.util.*;

public class Main {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = sc.nextInt();
	if(a == b && a == c && b == c){
		System.out.print(10000+(a*1000));
	    }else if(a == b || a == c){
		System.out.print(1000+(a*100));
	}else if(b == c){
		System.out.print(1000+(b*100));
	}else{
		System.out.print((Math.max(a, Math.max(b, c))*100));
	    }
	}
}
profile
달리는 개발자

0개의 댓글

관련 채용 정보