🌼1092
📝 최소공배수
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
String[] abc = br.readLine().split(" ");
br.close();
int a = Integer.parseInt(abc[0]);
int b = Integer.parseInt(abc[1]);
int c = Integer.parseInt(abc[2]);
int day = 1;
while (day % a != 0 || day % b != 0 || day % c != 0)
day++;
bw.write(String.valueOf(day));
bw.flush();
}
}
🌼1093
📝 이상한 출석부1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int n = Integer.parseInt(br.readLine());
String[] num = br.readLine().split(" ");
br.close();
int[] count = new int[24];
for (int i = 0; i < n; i++)
{
count[Integer.parseInt(num[i])]+=1;
}
for (int i = 1; i < 24; i++)
{
bw.write(String.valueOf(count[i]) + " ");
}
bw.flush();
}
}
🌼1094
📝 이상한 출석부2
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
//import java.util.Arrays;
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));
int n = Integer.parseInt(br.readLine());
String[] num = br.readLine().split(" ");
br.close();
// bw.write(Arrays.toString(num));
for (int i = n - 1; i >= 0; i--)
{
bw.write(String.valueOf(num[i]) + " ");
}
bw.flush();
}
}
🌼1095
📝 이상한 출석부3
가장 작은 값 찾기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int n = Integer.parseInt(br.readLine());
String[] num = br.readLine().split(" ");
br.close();
int min = Integer.parseInt(num[0]);
for (int i = 1; i < n; i++)
{
if (Integer.parseInt(num[i]) < min)
min = Integer.parseInt(num[i]);
}
bw.write(String.valueOf(min));
bw.flush();
}
}
📝 배열 정렬 사용1
정수형 배열에 적용할 수 있는 정렬
최솟값부터 차례대로 정렬한 값을 배열에 저장해준다.
Arrays.sort(numInt);
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
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));
int n = Integer.parseInt(br.readLine());
String[] num = br.readLine().split(" ");
int[] numInt = new int[n];
for (int i = 0; i < n; i++)
{
numInt[i] = Integer.parseInt(num[i]);
}
br.close();
// bw.write(Arrays.toString(numInt) + "\n");
Arrays.sort(numInt);
// bw.write(Arrays.toString(numInt) + "\n");
bw.write(String.valueOf(numInt[0]));
bw.flush();
}
}
📝 배열 정렬 사용2
정수형 배열에 적용할 수 있는 최댓값, 최솟값 찾기
Arrays.stream(numInt).min().getAsInt()
Arrays.stream(numInt).max().getAsInt()
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
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));
int n = Integer.parseInt(br.readLine());
String[] num = br.readLine().split(" ");
int[] numInt = new int[n];
for (int i = 0; i < n; i++)
{
numInt[i] = Integer.parseInt(num[i]);
}
br.close();
bw.write(String.valueOf(Arrays.stream(numInt).min().getAsInt()));
bw.flush();
}
}
🌼1096
📝 바둑알 흰 돌 두기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int n = Integer.parseInt(br.readLine());
int a[][] = new int[20][20];
for (int i = 0; i < n; i++)
{
String[] xy = br.readLine().split(" ");
int x = Integer.parseInt(xy[0]);
int y = Integer.parseInt(xy[1]);
a[x][y] = 1;
}
br.close();
for (int i = 1; i < 20; i++)
{
for (int j = 1; j < 20; j++)
{
bw.write(String.valueOf(a[i][j]) + " ");
}
bw.write("\n");
}
bw.flush();
bw.close();
}
}
🌼1097
📝 바둑알 십자 뒤집기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int[][] a = new int[20][20];
for (int i = 1; i < 20; i++)
{
String[] rows = br.readLine().split(" ");
for (int j = 1; j < 20; j++)
{
a[i][j] = Integer.parseInt(rows[j-1]);
}
}
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++)
{
String[] xy = br.readLine().split(" ");
int x = Integer.parseInt(xy[0]);
int y = Integer.parseInt(xy[1]);
for (int j = 1; j < 20; j++)
{
if (a[x][j] == 0)
a[x][j] = 1;
else
a[x][j] = 0;
if (a[j][y] == 0)
a[j][y] = 1;
else
a[j][y] = 0;
}
}
br.close();
for (int i = 1; i < 20; i++)
{
for (int j = 1; j < 20; j++)
{
bw.write(String.valueOf(a[i][j]) + " ");
}
bw.write("\n");
}
bw.flush();
bw.close();
}
}
🌼1098
📝 설탕과자 뽑기
✏️ d 값이 0 이면 y 축(열) 로 l 만큼 증가
✏️ d 값이 1 이면 x축(행)으로 l 만큼 증가
받는 값의 행열을 변경하기 귀찮아서 map을 한칸 늘려줬다.
이러한 설정 없이 그냥 xy값을 -1씩 해주고 시작했다면, 배열 출력할 때
Arrays.toString(map) 이 명령어 써도 될듯하다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
String[] rc = br.readLine().split(" ");
int r = Integer.parseInt(rc[0]);
int c = Integer.parseInt(rc[1]);
int[][] map = new int[r + 1][c + 1];
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i ++)
{
String[] ldxy = br.readLine().split(" ");
int l = Integer.parseInt(ldxy[0]);
int d = Integer.parseInt(ldxy[1]);
int x = Integer.parseInt(ldxy[2]);
int y = Integer.parseInt(ldxy[3]);
if (d == 1)
{
for (int j = x; j < x + l; j++)
{
map[j][y] = 1;
}
}
else if (d == 0)
{
for (int k = y; k < y + l; k++)
{
map[x][k] = 1;
}
}
}
br.close();
for (int i = 1; i < r + 1; i++)
{
for(int j = 1; j < c + 1; j++)
{
bw.write(String.valueOf(map[i][j]) + " ");
}
bw.write("\n");
}
bw.flush();
bw.close();
}
}
🌼1099
📝 성실한 개미
코드 변경이 필요.
너무 if 문이 많음.
✏️ 변경 방향
- 우측 배열 범위 벗어났을때, 벽으로 둘러쌓여 있지 않은 상태 고려
- if 문 수정 필요 → 갈 수 있는 길(0 or 2) 하나 갈 수 없는 길 하나(1 or 범위 초과)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int[][] map = new int[10][10];
for (int i = 0; i < 10; i++)
{
String[] rows = br.readLine().split(" ");
for (int j = 0; j < 10; j++)
{
map[i][j] = Integer.parseInt(rows[j]);
}
}
br.close();
int x = 1;
int y = 1;
if (map[x][y] == 0)
{
map[x][y] =9;
}
// while (true) // 배열 index 초과 에러 발생
while (x < 9 && y < 9)
{
if (map[x][y] == 2)
{
map[x][y] = 9;
break;
}
else if (map[x][y+1] == 2)
{
y++;
map[x][y] = 9;
break;
}
else if (map[x][y+1] == 0)
{
y++;
map[x][y] = 9;
}
else if (map[x][y+1] == 1 && map[x+1][y] == 2)
{
x++;
map[x][y] = 9;
break;
}
else if (map[x][y+1] == 1&& map[x+1][y] == 1)
{
break;
}
else if (map[x][y+1] == 1)
{
x++;
map[x][y] = 9;
}
}
for (int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
bw.write(String.valueOf(map[i][j]) + " ");
}
bw.write("\n");
}
bw.flush();
bw.close();
}
}
'java 개발일지' 카테고리의 다른 글
백준 Class 1 java #1000 ~ #10950 (0) | 2022.09.25 |
---|---|
재귀함수 코드업 1091, 1092 / 백준 10872, 10870 (2) | 2022.09.20 |
코드업 기초100제, #1083 ~ #1091 (1) | 2022.09.15 |
코드업 기초100제, #1073 ~ #1082 (1) | 2022.09.13 |
코드업 기초100제, #1063 ~ #1072 (1) | 2022.09.12 |
댓글