묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
23:29 질문입니다
메인 클래스에서 parent.getA()를 출력하는데 부모와 자식클래스에 똑같이 getA() 함수가 있으면 오버라이딩으로 자식클래스를 호출하나요? parent.getA()로 직접적으로 부모클래스를 호출하더라도요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
22분 44초
22분 44초의 내용을 정리해보면 printf("%s", str); 라면 str 문자열 전체를 출력하는 것이고 printf("%c", *str);라면 str 문자열의 첫번째 문자를 출력하는 것 맞을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9번문제 Pdf수정요청
9번 문제 (30:40부분)에 pdf에는 main 함수가 없네요....수정 부탁드립니다 .
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
SELECT 문 조회시 Null 포함 여부
33:56 SELECT count(col2)FROM TABLEWHERE col1 in (2,3) or col2 in (3,5);에서 결과가 4인점은 이해가 됩니다.(count는 Null 포함 x)다만 오른쪽 아래 테이블이 헷갈리는 데, 만약 count(col2)가 아닌 col2만 출력하면 아래 처럼 나오는걸로 이해하고 있습니다. col2----Null6533강사님께서는 count에 해당하는 투플만 테이블만 표현하신건가요? 또 집계함수(sum, avg, max,min,count) 모두 Null은 포함하여 계산하지 않는다고 이해하면 될까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
32. 정적 변수, 정적 메서드 (static) v2
31:30 구간 강의부분에서max나 parseInt 같은 메서드들도 정적 메서드라고 하셨는데 그러면 보통 흔하게 나오는 println이나 print 메서드도 정적 메서드인가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
업캐스팅 관련 질문
16분 40초 마지막 업캐스팅 예제에서 메서드가 부모에는 없고 자식에만 있어서 오류가 난다고 하였는데 이 경우가 업캐스팅이라서 그런거죠?만약 업캐스팅 아니고 A a = new A(1)이였을 때는 문제가 없는건지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
실기대비 이론문제(v0.9) 오류수정문의
실기대비 이론문제(v0.9)파일 내용중에 스미싱설명부분이 스미싱이 아닌 스니핑으로 잘못설명되어있습니다. 수정부탁드려요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
부모의 생성자
안녕하세요 강의 내용 중 9:22분에 문제 중에this.batteryCapacity = batteryCapacity; 문장은 아무런 역할을 안 하나요?해당 줄이 무슨 역할을 하는지 궁금합니다..!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
43분 질문입니다
43분에서 궁금한점이있습니다. seen배열을 할당할때 처음에 다음 comp로 넘겨줄땐 다른seen(초기에 비어있는seen)을 넘겨주는게 아닌가요? 영상으로 보면 하나의seen으로 모든comp를 다루는걸로 보이는데 seen은 독립적이지않은건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
4:35 포인터 질문입니다
배열이나 문자열은 선언할 때 부터 포인터 형식으로 선언되나요? 만약 a = "가나다" a가 가리키는 것은 "가"의 주소값이 되나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
변수 오버라이딩
하이딩에 대해 이해가 가지 않아 업캐스팅과 오버라이딩까지 다시 개념을 정리하다가 헷갈려서 질문합니다. 메서드, static붙는변수나 메서드는 오버라이딩이 가능하고 static이 붙지 않는 변수는 오버라이딩이 불가능한가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
예상문제
혹시 요번년도 예상문제 20선 한번만 난이도 상으로 만들어주실 수 있나요... 봤던 것ㅂ만 풀어서 그런지 체감을 할 수가 없네요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
26분 자식 this() 3단 체인
역순 호출시 child5(int) 에 int 값 1을 넣어서 출력해야 하는거 아닌가 하고요이미 3번에서 1을 대입 하면 더이상 안쓰는건가요?볼땐 알겠는데 뒤돌아보면 다시 리셋 되네요~ㅠㅠ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
31. 업캐스팅 (부모 형태, 자식 생성자)
제가 제대로 이해한 것이 맞는지 헷갈려서 질문 드려요 ㅠ 부모 자식 클래스 관계에서 super()라는 명시적 호출이 생략되어 있는 거고, 상속 관계에서는 무조건 자식 생성자 생성하기 전에 부모 생성자부터 생성하는 건 이해했습니다.근데 그럼 상속 관계에서 명시적 호출 super()이 아닌, this()라고 선언 해놓았을 경우, 부모 생성자를 생성하지 않고 자식 생성자만 생성하는 건가요? 너무 헷갈리네요 ..
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
return
5:25초 구간에서 계산까지는 모두 혼자 정상적으로 진행했는데 궁금한 점은 temparr를 리턴 할 때 왜 intarr로 반환하는 건가요?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
8-8 연장전 / 소스코드 공유해드려요. 참고하세요!
#include <stdio.h> #include <stdlib.h> #include <time.h> // 10마리의 서로 다른 동물(각 카드 2장씩) // 사용자로부터 2개의 입력값을 받아서 -> 같은 동물 찾으면 카드 뒤집기 // 모든 동물 쌍을 찾으면 게임 종료 // 총 실패 횟수 알려주기 int arrayAnimal[4][5]; // 카드 지도 (20장의 카드) int checkAnimal[4][5]; // 뒤집혔는지 여부 확인 char *strAnimal[10]; void initAnimalArray(); void initAnimalName(); void shuffleAnimal(); int getEmptyPosition(); int conv_pos_x(int x); int conv_pos_y(int y); void printfAnimals(); void printQuestion(); int foundAllAnimals(); void printAlign(const char *str, int totalWidth); int getVisibleWidth(const char *str); int main(void) { srand(time(NULL)); initAnimalArray(); initAnimalName(); shuffleAnimal(); int failCount = 0; // 실패 횟수 while (1) { int select1 = 0; // 사용자가 선택한 처음 수 int select2 = 0; // 사용자가 선택한 두번째 수 printfAnimals(); // 동물 위치 출력 printQuestion(); // 문제 출력 (카드 지도) printf("뒤집을 카드를 2개 고르세요 : "); scanf("%d %d", &select1, &select2); if (select1 == select2) // 같은 카드 선택 시 무효 continue; // 좌표에 해당하는 카드를 뒤집어 보고 같은지 안같은지 확인 // 정수 좌표를 (x, y)로 변환 int firstSelect_x = conv_pos_x(select1); int firstSelect_y = conv_pos_y(select1); int secondSelect_x = conv_pos_x(select2); int secondSelect_y = conv_pos_y(select2); // 같은 동물인 경우 if ((checkAnimal[firstSelect_x][firstSelect_y] == 0 && checkAnimal[secondSelect_x][secondSelect_y] == 0) && (arrayAnimal[firstSelect_x][firstSelect_y] == arrayAnimal[secondSelect_x][secondSelect_y])) { printf("\n\n빙고! : %s 발견 \n\n", strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); checkAnimal[firstSelect_x][firstSelect_y] = 1; checkAnimal[secondSelect_x][secondSelect_y] = 1; } // 다른 동물인 경우 else { printf("\n\n 땡!! (틀렸거나, 이미 뒤집힌 카드입니다)\n"); printf("%d : %s\n", select1, strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); printf("%d : %s\n", select1, strAnimal[arrayAnimal[secondSelect_x][secondSelect_y]]); printf("\n\n"); failCount++; } // 모든 동물을 찾았는지 여부, 1 : 참, 0 : 거짓 if (foundAllAnimals() == 1) { printf("\n\n 축하합니다 ! 모든 동물을 다 찾았네요 \n"); printf("지금까지 총 %d 번 실수했습니다\n", failCount); break; } } return 0; } void initAnimalArray() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { arrayAnimal[i][j] = -1; } } } void initAnimalName() { strAnimal[0] = "원숭이"; strAnimal[1] = "하마"; strAnimal[2] = "강아지"; strAnimal[3] = "고양이"; strAnimal[4] = "돼지"; strAnimal[5] = "코끼리"; strAnimal[6] = "기린"; strAnimal[7] = "낙타"; strAnimal[8] = "타조"; strAnimal[9] = "호랑이"; } void shuffleAnimal() { // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ for (int i = 0; i < 10; i++) { for (int j = 0; j < 2; j++) { int pos = getEmptyPosition(); int x = conv_pos_x(pos); int y = conv_pos_y(pos); arrayAnimal[x][y] = i; } } } // 좌표에서 빈 공간 찾기 int getEmptyPosition() { // ☐ ☐ ☐ ☐ ☐ 0 1 2 3 4 -> 0 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 5 6 7 8 9 -> 1 1 1 1 1 // ☐ ☐ ☐ ☐ ☐ 10 11 12 13 14 -> 2 2 2 2 2 // ☐ ☐ ☐ ☐ ☐ 15 16 17 18 19 -> 3 3 3 3 3 while (1) { int randPos = rand() % 20; // 0 - 19 사이의 숫자 반환 // 19 -> (3, 4) int x = conv_pos_x(randPos); int y = conv_pos_y(randPos); if (arrayAnimal[x][y] == -1) { return randPos; } } return 0; } int conv_pos_x(int x) { // 19 -> (3,4) return x / 5; } int conv_pos_y(int y) { // 19 -> 19 / 5 ? 몫은 3, 나머지 4 return y % 5; // y를 5로 나눈 나머지 값 } void printfAnimals() { printf("\n======== 이건 비밀인데 . . 몰래 보여줍니다 =======\n\n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { printAlign(strAnimal[arrayAnimal[i][j]], 8); } printf("\n"); } printf("\n============================================\n\n"); } void printQuestion() { printf("\n\n(문제)\n"); int seq = 0; // seq // checkAnimal // ☐ ☐ ☐ ☐ ☐ 0 1 2 3 4 0 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 5 6 7 8 9 1 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 10 11 12 13 14 // ☐ ☐ ☐ ☐ ☐ 15 16 17 18 19 for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { // 카드를 뒤집어서 정답을 맞혔으면 ' 동물 이름' if (checkAnimal[i][j] != 0) { printAlign(strAnimal[arrayAnimal[i][j]], 8); } else { char temp[16]; sprintf(temp, "%d", seq); // 숫자를 문자열로 바꿔서 printAlign(temp, 8); // 한글처럼 정렬 } seq++; // 아직 뒤집지 못했으면 (정답을 못맞혔으면) 뒷면 -> 위치를 나타내는 숫자 } printf("\n"); } } int foundAllAnimals() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { if (checkAnimal[i][j] == 0) { return 0; } } } return 1; // 모두 다 찾음 } int getVisibleWidth(const char *str) { int width = 0; while (*str) { if ((*str & 0xF0) == 0xE0) { width += 2; str += 3; } else { width += 1; str += 1; } } return width; } void printAlign(const char *str, int totalWidth) { int visibleWidth = getVisibleWidth(str); printf("%s", str); for (int i = 0; i < totalWidth - visibleWidth; i++) { printf(" "); } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
반복문 자료 질문드립니다.
28분 13초 왼쪽 하단 코드#include <stdio.h>int main() { for (int i = 0; ; i++) { if (i >= 5) { break; } printf("i의 값 : %d\n", i); }}주신 자료에 보면출력값으로i의 값 : 0i의 값 : 1i의 값 : 2i의 값 : 3i의 값 : 4이렇게 나와있습니다.그런데 i의 값 : 5 까지 나와야 하는 것 아닌지 여쭙고 싶습니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
유료결제 후회 중입니다. 3번 낙방 설명은 똑같고
전반적으로 해설이 혼자 푸는데 이야기하시는 느낌이닌다 다른 글도 그렇던데... 유투브로 쉽다쉽다 샘플영상 올리셔서 돈 냈는데 설명이 두서가 없어요 친절하지도 않고 띄엄띄엄 느낌이고 인쇄물은 성의없고... 죄송합니다 돈낸 사람으로서 느낀점 말씀드립니다.마지막 포인터 문제 전반적인 해설 간략히 요청드립니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
생성자 호출순서 특강 PDF 업로드 일자
안녕하세요!강의 정말 잘 듣고있습니다최근에 특강으로 올려주신JAVA 생성자 호출순서 특강편 PDF 파일언제 올려주시는지 문의드립니다!"생성자 호출순서"만 다뤄보자! (13개 코드예제)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
23년 1회 Java 관련 질문이 있습니다.
26:31 에서 static int b=0이 정적변수라고 말씀하셨는데요.... 그러면 나중에 출력하는 곳에서 네번째 st.a 출력값은 20인데, 두번째 st.b 출력값은 11이 된다고 하셨는데 class Static란에서 정적변수로 b=0을 선언했으니까 0이 아닐까 하고 헷갈리거든요. 답변 부탁드립니다.