[BaekJoon] 1단계
Updated:
10171번 고양이
풀이
파이썬에서 ’\\‘ 는 역슬래쉬(\) 를 출력할 때 사용
print("\ /"+ "\\")
print(" ) ( ')")
print("( / )")
print(" \(__)|")
10172번 개
풀이
파이썬에서 \“ 는 큰따옴표(“)를 출력할 때 사용
print("|\_/|")
print("|q p| /}")
print("( 0 )\"\"\""+"\\")
print("|\"^\"` |")
print("||_/=\\\\__|")
2588번 곱셈
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
풀이
두번째 입력 값을 100의 자리, 10의 자리, 1의 자리로 나누어 첫번째 입력 값의 각 자리에 곱해주었다. 그 후 다시 100의 자리엔 100을 곱해주고 10의 자리엔 10을 곱해준 후 총 합을 결과 변수 restul에 저장하여주었다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int num1 = 0, num2 = 0;
int sum1 = 0, sum2 = 0, sum3 =0, result = 0;
Scanner sc = new Scanner(System.in);
num1 = sc.nextInt();
num2 = sc.nextInt();
// 1의자리
sum1 = num1*((num2%100)%10);
//10의자리
sum2 = num1*((num2%100)/10);
// 100의자리
sum3 = num1*(num2/100);
result = (sum3*100) + (sum2*10) + sum1;
System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
System.out.println(result);
}
}
1330번 두 수 비교하기
문제
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.
풀이
input 한 번에 값을 여러 개 입력 받으려면 input에 split을 사용한 뒤 여러 개의 변수에 저장해주면 됩니다. 참고
정수의 크기를 비교해야 하기 때문에 int()를 사용하여 입력 받은 문자를 정수로 바꾸어준 후, 조건문으로 지정해 주었습니다.
A, B = input().split()
if (int(A) < int(B)):
print("<")
elif(int(A) > int(B)):
print(">")
else:
print("==")
9498번 시험 성적
문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
풀이
num = int(input())
if (89 < num and 100 >= num):
print("A")
elif(80 <= num and 90 > num):
print("B")
elif(70 <= num and 80 > num):
print("C")
elif(60 <= num and 70 > num):
print("D")
else:
print("F")
14681번 사분면 고르기
문제
점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.
풀이
X = int(input())
Y = int(input())
#X,Y값이 모두 양수면 제 1사분면
if (X > 0 and Y > 0):
print("1")
#X가 음수 Y값이 양수면 제 2사분면
elif(X < 0 and Y > 0):
print("2")
#X가 음수 Y값이 음수면 제 3사분면
elif(X < 0 and Y < 0):
print("3")
#X가 양수 Y값이 음수면 제 4사분면
else:
print("4")
2753번 윤년
문제
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
풀이
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때입니다. 4로 나누었을때 나머지가 0이어야 하고(and) 100으로 나누었을때 나머지가 0이 아니거나 (or) 400으로 나누어 떨어져야 합니다.
year = int(input())
if ((year % 4 == 0) and ((year % 100 != 0) or (year % 400 == 0))):
print("1")
else:
print("0")
2884번 알람 시계
문제
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 “45분 일찍 알람 설정하기”이다.
이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
풀이
import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
String s = br.readLine();
StringTokenizer st = new StringTokenizer(s);
int H = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
// 45분 59분 사이면 그냥 M - 45
if( M >= 45 && M <= 59) {
System.out.println(H + " " + (M - 45));
}
// 만약 시간이 0이면 H = 23
else if(H == 0) {
H = 23;
M = (60 - ((M - 45)*(-1)));
System.out.println(H + " " + M);
}
// 아니면 시간 -1 하고
else {
M = (60 - ((M - 45)*(-1)));
System.out.println((H -1) + " " + M);
}
}
}
Leave a comment