January 25, 2021
주의사항
풀이 방법
5
R R R U D D
# 3 4
# N 입력받기
n = int(input())
x, y = 1, 1
plans = input().split()
# L, R, U, D에 따른 이동 방향
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
move_types = ['L', 'R', 'U', 'D']
# 이동 계획을 하나씩 확인
for plan in plans:
# 이동 후 좌표 구하기
for i in range(len(move_types)):
if plan == move_types[i]:
nx = x + dx[i]
ny = y + dy[i]
# 공간을 벗어나는 경우 무시
if nx < 1 or ny < 1 or nx > n or ny > n:
continue
# 이동 수행
x, y = nx, ny
print(x, y)
6
R R U D R U
# 1 4
10
D D D U R R L L R U
# 2 2
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int x = 1;
int y = 1; // int x = 1, y = 1; 식으로 선언해줘도 된다.
String[] plans = sc.nextLine().split(" ");
int[] dx = {0, 0, -1, 1};
int[] dy = {-1, 1, 0, 0};
String[] move_types = {"L", "R", "U", "D"}; // char[] moveTypes = {'L', 'R', 'U', 'D'};
int nx = 0;
int ny = 0;
for (String plan : plans) {
// int nx = -1, ny = -1;
for (int i = 0; i < move_types.length; i++) {
if (plan.equals(move_types[i])) {
nx = x + dx[i];
ny = y + dy[i];
}
}
if (nx < 1 || ny < 1 || nx > n || ny > n) {
continue;
}
x = nx;
y = ny;
}
System.out.println(x + " " + y);
}
}
풀이 방법
5
# 11475
# H를 입력받기
h = int(input())
count = 0
for i in range(h + 1):
for j in range(60):
for k in range(60):
# 매 시각 안에 '3'이 포함되어 있다면 카운트 증가
if '3' in str(i) + str(j) + str(k):
count += 1
print(count)
12
# 22500
23
# 43875
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int h = sc.nextInt();
int count = 0;
for (int i = 0; i < h + 1; i++) {
for (int j = 0; j < 60; j++) {
for (int k = 0; k < 60; k++) {
String s = i + " " + j + " " + k + " ";
if (s.indexOf('3') != -1) {
count++;
}
}
}
}
System.out.println(count);
}
}
import java.util.*;
public class Main {
// 특정한 시각 안에 '3'이 포함되어 있는지의 여부
public static boolean check(int h, int m, int s) {
if (h % 10 == 3 || m / 10 == 3 || m % 10 == 3 || s / 10 == 3 || s % 10 == 3)
return true;
return false;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// H를 입력받기
int h = sc.nextInt();
int cnt = 0;
for (int i = 0; i <= h; i++) {
for (int j = 0; j < 60; j++) {
for (int k = 0; k < 60; k++) {
// 매 시각 안에 '3'이 포함되어 있다면 카운트 증가
if (check(i, j, k)) cnt++;
}
}
}
System.out.println(cnt);
}
}
Source