inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

Java언어 기출문제의 변형

자바 문제 좀 해설해주세요

340

김태윤
0

public class Soo{

public static void main(String[] args) {

int[] a = new int[10];

int sum=100;

for(int i=0; i<a.length; i++){

a[i] = i+1;

}

for(int i=0; i<a.length; i++){

if(i%3==1){

sum -= a[i];

}

}

System.out.print(sum);

}

}

 

정답은 85 라고 하는데 마지막 연산이 어떻게 되는지 모르겠네요

나머지수 라면 (1,4,7, 10) 일텐데, 이런 짧은 코드도 이해를 못하고 있네요//

java 정보처리기사

답변 1

1

주말코딩

배열 초기화

int[] a = new int[10];
  • 길이가 10인 정수형 배열 a를 생성합니다. 초기 값은 모두 0입니다.

 

변수 sum을 100으로 초기화합니다. 이 변수는 이후 계산의 결과를 저장할 역할을 합니다.

 

반복문 수행

for (int i = 0; i < a.length; i++) {
    a[i] = i + 1;
}
  • 배열 a의 각 인덱스에 i+1의 값을 대입합니다. 즉, a[0]에는 1, a[1]에는 2, ..., a[9]에는 10이 들어갑니다.

  • 최종적으로 배열 a의 값은 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]이 됩니다.

 

인덱스 기준으로 값을 빼기

// 조건에 맞는 값들을 sum에서 빼기
for (int i = 0; i < a.length; i++) {
   if (i % 3 == 1) sum -= a[i];
}
  • 배열 a의 각 요소를 확인하면서 조건에 따라 sum에서 해당 값을 뺍니다.

  • 조건 i%3==1은 배열의 인덱스가 3으로 나눈 나머지가 1인 경우에만 참이 됩니다. 즉, 인덱스 1, 4, 7에 해당하는 배열 요소만 sum에서 빼는 것이죠.

    • a[1] = 2

    • a[4] = 5

    • a[7] = 8

따라서 sum에서 빼는 값은 2 + 5 + 8 = 15입니다.

 

 

처음에 sum은 100이었고, 15를 빼면 최종 결과는 100 - 15 = 85가 됩니다.

따라서 출력은 85입니다.

0

김태윤

값이 아닌 배열주소를 연산한게 잘못이였군요, 빠른답변 감사드려요

정처기2회실기를 마치고.

0

21

0

방산 SW 개발자가 되기 위한 조언을 부탁드립니다!

1

112

1

JAVA로 백엔드 프로젝트

0

83

1

이론pdf 외의 범위는 어떻게 준비를 해야할까요?

0

131

1

26년1회 실기 합격할수 있을까??ㅠㅠ

0

184

1

자바 실무 단계

0

318

2

진로가 큰 걱정입니다...

0

308

1

공부 방향

0

322

1

안녕하세요! 실무와 관련되서 질문드립니다!

0

340

1

함수형 인터페이스 활용

0

361

1

WebFlux를 실무에 적용하기 전에 고민이 있습니다.

0

311

0

코딩테스트 준비

0

472

1