유효한 솔루션이 없는 조건
197
작성한 질문수 3
유효한 솔루션이 없는 경우를
colsum의 모든 값의 합이 upper + lower의 값과 다른 경우로 진행을 해보았는데, 결국에 결과값만 정확히 나오면 되는건가요!!?
public class Sec02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int upper = 2;
int lower = 2;
String s = "";
int[] colsum = {2, 1, 1};
int sum = 0;
int[][] result = new int[2][colsum.length];
//유효성 체크방법, colsum의 각 배열 값의 총합과 upper + lower이 같은 경우만 실행
//colsum의 총합 구하는 for문
for(int i = 0 ; i < colsum.length ; i++) {
sum += colsum[i];
}
//colsum의 총합과 upper + lower이 같은 경우만 실행
if(sum == (upper + lower)) {
for(int i = 0 ; i < colsum.length ; i++) {
//upper을 먼저 쓰는 로직으로 진행
if(colsum[i] == 2) {
upper--;
lower--;
result[0][i] = 1;
result[1][i] = 1;
}
else if(colsum[i] == 1 && upper > 0) {
upper--;
result[0][i] = 1;
result[1][i] = 0;
}
else if(colsum[i] == 1 ) {
lower--;
result[0][i] = 0;
result[1][i] = 1;
}
else if(colsum[i] == 0) {
result[0][i] = 0;
result[1][i] = 0;
}
}
//출력 구문
s += "[";
for(int i = 0 ; i < result.length ; i++) {
for(int j = 0 ; j < result[i].length ; j++) {
//배열의 시작일 경우, [를 넣어줌
if(j == 0) {
s += "[";
}
// String에 값을 넣어줌
s += result[i][j];
//upper , lower 배열의 끝이면 ]를, 그렇지 않으면 , 를 찍어주는 if문
if(j == (result[i].length-1)) {
s += "]";
}
else {
s += ",";
}
}
//배열 사이 ,를 찍는 IF문, 마지막 배열일시에는 찍지 않음
if( i < result.length-1) {
s += ",";
}
}
s += "]";
System.out.println(s);
}
//colsum의 총합과 upper + lower이 다를 경우 []값만 출력.
else{
System.out.println("[]");
}
}
}
답변 1
2
진영준 안녕하세요?
이 문제는 2dArray ->List<List> 로 표시하는 문제로 자주 출제되고 있어서 중요한 문제죠 ^^
꼭 알아야할 개념입니다.
질문주신 내용 :
유효한 솔루션이 없는 경우를 colsum의 모든 값의 합이 upper + lower의 값과 다른 경우로 진행을 해보았는데, 결국에 결과값만 정확히 나오면 되는건가요!!?
=> 유효한 솔루션이 없다는게 무슨 의미인지 정확히 모르겠습니다.^^
우리가 유효하게 솔루션을 만들어야 하는게 프로그래밍, 코딩이라고 생각하는데요
그래서 말씀하신거처럼(아래그림참조) colsum = upper+lower 이렇게 되어야겠죠?
그리고 문제에서 리턴타입을 List<List<Integer>> 이걸로 맞춰 주셔야 합니다.
이문제는 List<List<Integer>> <=> 이차원배열 변환 개념도 물어보는거라서,
자유자재로 할 수 있어야 합니다.
주신소스를 보니 리스트 형태로 괄호 '[' 를 만드셨는데요, 연습삼아서 그렇게 하신거 같은데
이 문제는 List<List<Integer>>으로 리턴해주셔야 합니다.
안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..
0
7
1
47번 리턴 관련 질문
0
15
1
실무 내용 문의드려요
0
23
2
IO활용-회원관리예제1 샘플코드 문의
0
14
1
join에대해 질문드립니다.
0
19
1
pg사가 있다고 가정하면
0
25
1
중급 1편 학습 방향에 대해 조언 부탁드립니다
0
32
1
To-Do App
0
27
1
강의노트 접속 불가
0
26
2
Kafka Cluster 구성도 질문
0
22
1
26년 1회차 기출 강의
0
50
2
기출문제
0
55
1
정보처리기사 실기 zip
0
44
2
답을언제쯤받아볼수있나요
0
49
2
데이터베이스 노션
0
38
2
형 책 어떻게 받아?
1
59
1
PPT 자료 공유 받을 수 있을까요?
0
32
1
@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.
0
33
2
다른 풀이방법질문
1
238
1
Priority Queue 대신 LinkedList 사용 이유를 알 수 있을까요??
1
379
2
result 가 없습니다.
1
247
1
영상 오디오가 너무 이상해요 ㅠㅠ
1
297
1
입출력 예시가 잘못된거 아닌가요??
1
176
2
가장 바깥 괄호제거
1
542
3





