봉우리 문제 질문있습니다. 강의와 다르게 풀어서 맞았는데 확장성? 이나 활용도에서 문제가 발생하는지 궁금합니다.
433
작성한 질문수 19
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요!
강의듣기 전에 풀이해본 내용인데요! 관련해서 질문이 있습니다!
아래 코드 처럼 풀었는데,
경계값을 해주는걸 solution 내부 함수에서 해주는게 아니고, 입력값에서 배열 사이즈 조정하는걸로 풀면 다른 활용문제에서 어떤 문제가 발생할지 궁금합니다!
저는 행, 열에 각각 +1, -1 해주면서 찾았는데, 이렇게 하면 강의에서 말씀하신 대각선 값 비교할때 문제가 있을까요?
대각선의 경우 분기처리할때 각행과 열에 (-1, +1 ) (-1, -1) (+1, +1), (+1, -1)추가해서 체크해주는게 다른 활용 문제에서 어떤 문제가 발생할지 궁금합니다! 문제는 없지만 비효율적이고 가독성이 안좋아서 그런걸까요?
3중 포문으로 하면 시간복잡도가 O(n^3)가 되서 성능이 떨어지는거 아닌지 궁금합니다. 아래 코드로 하면 O(n^2)이라서 더 빠를 것 같았는데 강의로 알려주신 코드보다 12ms 더 느리더라구요!
import java.util.Scanner;
public class Main {
public int solution(int n, int[][] arr){
int answer = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
int tmp = arr[i][j];
// 첫째줄 조건은 열 체크. 둘째줄 조건은 행 체크
if (tmp > arr[i][j+1] && tmp > arr[i][j-1]
&& tmp > arr[i+1][j] && tmp > arr[i-1][j]) {
answer ++;
}
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[n+2][n+2];
for (int i = 1; i <= n ; i++) {
for (int j = 1; j <= n; j++) {
arr[i][j] = sc.nextInt();
}
}
System.out.println(T.solution(n,arr));
}
}
답변 1
0
안녕하세요^^
나중에 DFS, BFS 등 난이도 있는 문제를 하다보면 영상처럼 경계값 확인을 자주 해야 하니 영상처럼 하셨으면 좋겠습니다.
1번과 같은 내용입니다. 만약 대각성까지 8방향을 탐색한다면 if문 안에 8개의 조건을 걸아야 해 가독성에서 좋지 않습니다. 영상의 방법을 추천합니다.
3중 for문 이지만 제일 안쪽은 4번의 반복으로 정해져 있어 상수시간으로 봐야 합니다. 시간복잡도는 님의 코드나 영상의 코드는 큰 차이점은 없습니다.
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
29
1
갑자기 채점 사이트가 바뀌었어요
0
32
1
문제 리스트 페이지
0
29
1
채점 사이트 관련 질문드립니다
0
24
1
봉우리 문제 질문입니다
0
81
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
65
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
72
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
67
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
85
2
6-7 강의에서
0
48
1
6-6. 장난꾸러기 질문 있습니다.
0
45
1
강의 수강후 코딩테스트
0
110
1
answer 변수 사용 여부
0
45
1
2중 for문
1
85
2
2-11. 임시반장정하기 (Runtime Error)
0
63
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
70
1
이런 풀이는 어떨까요
0
44
1
자바 스트림 방식의 효율성 질문 드립니다.
0
57
1
알고리즘 자료 구조들..
0
62
1
StringBuilder vs BufferdWriter
0
48
1
원더랜드(프림)
0
50
1
이런 코드는 어떤가요?
0
61
1
bfs 풀이
0
57
1
병합정렬
0
56
1





