[기초-2차원배열] 성실한 개미
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
[ 접근 방법 ]
1. 2중배열과 2중 for문으로 입력을 전부 받는다.
2. 0 ~ 9, 0 ~ 9, 배열에서 1,1을 시작위치로 잡는다.
3. 오른쪽방향인 두번째 for문을 1씩 증가시키며 1을 만났을 경우 1을 감소시키고 9로변환 후 반복문을 종료하고
다음 반복문으로 넘어간다.
4. 0을 만날경우그냥 9로 바꾼다.
5. 2를 만날경우 9로 바꾸고 2중 for문을 완전히 종료시킨다.
6. 예외로 처음시작할 때 1,1에 2가 있다면 9로바꾸고 바로 for문을 전부 종료한다.
package CodeUp;
import java.util.Scanner;
public class CodeUp1099 {
public static void main(String[] args) {
int input[][] = new int[10][10];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
for (int k = 0; k < 10; k++) {
input[i][k] = sc.nextInt();
}
}
int count = 1; //다음줄로 넘어갈 때 1을 만났던 자릿수를 기억하는 역할
boolean two = false;
for (int i = 1; i < 9; i++) {
for (int k = count; k < 10; k++) {
if(input[i][k] == 0){
input[i][k] = 9;
}
else if(input[i][k] == 1){
count = k - 1;
input[i][count] = 9;
break;
}
else if(input[i][k] == 2){
two = true;
input[i][k] = 9;
break;
}
else if(input[1][1] == 2){
input[1][1] = 9;
two = true;
break;
}
}
if (two) {
break;
}
}
for (int i = 0; i < 10; i++) {
for (int k = 0; k < 10; k++) {
System.out.printf("%d ",input[i][k]);
}
System.out.println();
}
sc.close();
}
}
'알고리즘' 카테고리의 다른 글
[Algorithm]에라토스테네스의 체 자바풀이 소수찾기 백준 1929번 문제 (0) | 2023.01.11 |
---|---|
[코드업 자바 1098번 문제] 설탕과자 뽑기 접근방법 (0) | 2021.02.02 |
[코드업 1091번 자바] [기초-1차원배열] 이상한 출석 번호 부르기1 (0) | 2021.01.30 |
[코드업 자바 1086번 문제] 그림 파일 저장용량 계산하기 (0) | 2021.01.29 |
[코드업 1082번 자바] 16진수 구구단 (0) | 2021.01.26 |