티스토리 뷰
1. 문제
https://www.acmicpc.net/problem/18868
18868번: 멀티버스 Ⅰ
M개의 우주가 있고, 각 우주에는 1부터 N까지 번호가 매겨진 행성이 N개 있다. 행성의 크기를 알고 있을때, 균등한 우주의 쌍이 몇 개인지 구해보려고 한다. 구성이 같은데 순서만 다른 우주의 쌍
www.acmicpc.net
2. 문제 풀이 겸 회고
살다 살다 열받아서 블로그에 글 쓰는 건 처음이네...
겨우 브론즈 1 짜리한테 6/7 이 틀렸읍니다. 그것도 입구 컷 ㅋㅋ
알고리즘 유형은 딱보면 브루스포스나 nCr로 풀어도 될 것 같았다.
nCr은 하도 많이 풀어서 오랜만에 브루스포스로 for문 구현 열나게 해 보자 했는데 ㅋㅋㅋㅋㅋ
난독증 덕에 빨간 글씨만... (주륵..)
구성이 같은데 순서만 다른 우주의 쌍은 한 번만 센다.
저 말은 그냥 1번 우주, 2번 우주, 3번 우주 4번 우주 있다고 가정하면
{1번 우주, 2번 우주} != {2번 우주, 1번우주} 이말임..
즉, {1번 우주, 2번 우주}를 했으면 {2번우주, 1번우주}를 하면 안됨.......
저 문장만 이해 잘했어도... 난 방문 체크며 뭐며 혼자 북 치고 장구침 ㅋㅋ
브론즈는 브론즈답게.. 그리고 브론즈라도 이해 안 되면 문제 5번씩 읽자.. 수만아... ㅋㅋ..
3. 코드
package net.acmicpc.daily.test221102;
import java.io.*;
import java.util.*;
public class Solution_18868_멀티버스 {
static int[][] bus;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int M = Integer.parseInt(st.nextToken());
int N = Integer.parseInt(st.nextToken());
bus = new int[M][N];
for (int i = 0; i < M; i++) {
st = new StringTokenizer(br.readLine());
for (int j = 0; j < N; j++) {
bus[i][j] = Integer.parseInt(st.nextToken());
}
}
int cnt = 0;
for (int k = 0; k < M - 1; k++) {
a:for (int i = k + 1; i < M; i++) {
for (int r = 0; r < N - 1; r++) {
for (int c = r + 1; c < N; c++) {
if (!check(k, i, r, c)) {
continue a;
}
}
}
cnt++;
}
}
System.out.println(cnt);
}
private static boolean check(int k, int i, int r, int c) {
return (bus[k][r] == bus[k][c] && bus[i][r] == bus[i][c]) || (bus[k][r] > bus[k][c] && bus[i][r] > bus[i][c])
|| (bus[k][r] < bus[k][c] && bus[i][r] < bus[i][c]);
}
}
피드백은 언제나 환영입니다 :) 🌳
'algo > 백준' 카테고리의 다른 글
[백준] 20056_마법사 상어와 파이어볼 (JAVA) (0) | 2022.10.03 |
---|---|
[백준] 16234_인구이동 (JAVA) (0) | 2022.09.28 |
[백준] 11052_카드 구매하기 (JAVA) (0) | 2022.09.20 |
[백준] 1912_연속합 (JAVA) (0) | 2022.09.19 |
[백준] 20055_컨베이어 벨트 위의 로봇(JAVA) (2) | 2022.09.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머스 할인행사
- NIPA
- JAVA 컬랙션
- 프로그래머스 롤케이크자르기
- 자바 return
- java 마법사 상어와 파이어볼
- 1개 Key 여러개 Value
- 정보통신산업진흥원
- 멀리 뛰기 자바
- IT개발캠프
- level2 롤케이크 자르기
- JAVA 할인행사
- 할인행사 자바
- java 멀티버스
- AI캠프
- 멀티버스 java
- AI-WEB 교육
- 프론트엔드
- 플그 멀리 뛰기
- 백엔드
- 백준 멀티버스 자바
- 서울ICT이노베이션
- Java 멀리 뛰기
- HashMap 자바
- 마법사상어와 파이어볼
- AI교육
- 16234 마법사 상어와 파이어볼
- 18868 멀티버스 java
- 유데미
- 메서드형 void
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함