연산자와 기출문제 Java 23년 2회문제
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
동전갯수 문제인데요 조건에 최소한의 코드로 답안을 작성하라 해서요~ 제가 m / 1000 (m % 1000) / 500 (m % 500) / 100 (m % 100) / 10 이렇게 풀었는데 혹~~시 () 이거 괄호 적으면 오답처리하나요..?
- python
- java
- c
- 정보처리기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
동전갯수 문제인데요 조건에 최소한의 코드로 답안을 작성하라 해서요~ 제가 m / 1000 (m % 1000) / 500 (m % 500) / 100 (m % 100) / 10 이렇게 풀었는데 혹~~시 () 이거 괄호 적으면 오답처리하나요..?
해결됨
맛집 지도앱 만들기 (React Native & NestJS)
❗ 질문 작성시 꼭 참고해주세요 최대한 상세히 현재 문제(또는 에러)와 코드(또는 github) 를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다. 맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경 도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요! 질문이 있습니다 강사님 오류는 아니고 궁금한점이있어서 문의드립니다보통 다른 네비게이터의 자식 페이지로 이동할때 StackNavigator 1 - Screen A - Screen B StackNavigator 2 - Screen C - Screen Dnavigation.navigate('StackNavigator2', {screen: 'Screen C'}); 이렇게 이동한다고 하지만, 이게 엄청 복잡하거나 screen 안에 param 안에 screen 즉 아래와 같은 경우에는 어떻게 작업해야할까요? navigation.navigate(MAIN_NAVIGATIONS.MAP, { screen: MAP_NAVIGATIONS.LOCATION_FEED_TAB, params: { screen: LOCATION_TAB_NAVIGATIONS.LOCATION_FEED_HOME, params: { screen: LOCATION_NAVIGATIONS.LOCATION_DETAIL, params: {id}, }, }, }); [ex) 상세 페이지(detail)를 list를 통해 이동했을 경우와 calendar 에서 바로 상세페이지로 이동했을 경우 goBack()의 히스토리가 잘못되어 calendar에서 바로 상세페이지(detail)로 이동하였을경우 goBack() 올바르게 작동하지 않는 경우] 3가지 방안으로 생각하였지만.. (1) goBack()을 사용하지 않고 어떤 경로로 접속하였든 List로 이동시키는 방법 (2) 아니면 흐름을 위하여 동일한 screen을 다른 navigation 에 각각 등록하여 따로 흐름(?)을 관리 screen을 다른 navigation 에 각각 사용하는 경우도있나요? (3) 전역상태 push 관련 history를 직접 관리하여 작업해야하는 지 어떤게 맞는 방법인지 혹시 다른 방법이 있는지 궁금하여 문의드립니다.
해결됨
맛집 지도앱 만들기 (React Native & NestJS)
최근 Expo SDK 51이 릴리즈 되면서 React Native 공식 문서에서도 Expo를 권장하도록 수정되었던데, Bare CLI를 계속 사용해야 할까요? 개발 경험 또한 Bare CLI보다 Expo를 사용했을 때 훨씬 빠르고 편했고 빌드하면 Native Module도 사용할 수 있으니 그리 큰 차이도 없는 것 같아서요. 선생님의 생각이 궁금합니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
예제7번을 풀면 -1-2+9-4+25-6+49-8+81-10 = 133 아닌가요. 제가 뭘 잘못이해하고 있는걸까요? ㅠㅠ
미해결
JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
JVM이 웹 브라우저에 플러그인으로 내장되어있다는 내용이 있던데 이건 좀 수정했으면 좋겠네요.그리고 JSP 파일->서블릿->클래스 파일 변환 과정도 설명이 조금 난잡합니다.
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
예시 코드를 보면 트랜잭션 이용해서 조회하고, 작성하고 하시는데 이거는 예시를 위해서 그렇게 하신걸까요? 실무에서는 한가지 작업할 때는 트랜잭션 사용안하고 바로 디비에 저장하고, 조회하고 하는걸까요?
미해결
김영한의 실전 자바 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 클래스 레벨 접근 제어자에 protected가 사용할수 없는 이유가 궁금합니다
미해결
김영한의 실전 자바 - 중급 2편
컬렉션 프레임워크 - Set 강의 중 UML 클래스 다이어그램에 관해 궁금증이 생겼습니다. HashSet , TreeSet , LinkedHashSet 즉 Set의 주요 구현체들을 설명하셨을때, 여기서 점선으로 된것과 실선으로 된것의 차이점은 무엇일까요?? 인터페이스인 Set의구현체로 HashSet , TreeSet 등이 있다는 것은 이해가 가지만, LinkedHashSet은 왜 실선으로 표시하는 걸까요?? 이 두개의 차이점에 대해 정확히 알고싶습니다!
미해결
자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
먼저 강의 잘 듣고 있습니다. 강의 자료 202쪽에 보면 아래 그림과 같이 ReentrantLock.lockInterruptibly() 예제 코드가 작성되어 있는데요. 이 코드를 강의 소스코드 (LockInterruptiblyExample.java) 에 적용해 보았습니다. 적용한 코드는 아래와 같습니다. public class LockInterruptiblyExample { public static void main(String[] args) { Lock lock = new ReentrantLock(); Thread thread1 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 System.out.println("스레드 1이 락을 획득했습니다"); } catch (InterruptedException e) { System.out.println("스레드 1이 인터럽트를 받았습니다"); } finally { lock.unlock(); System.out.println("스레드 1이 락을 해제했습니다"); } }); Thread thread2 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 try { System.out.println("스레드 2가 락을 획득했습니다"); } finally { lock.unlock(); System.out.println("스레드 2가 락을 해제했습니다"); } } catch (InterruptedException e) { System.out.println("스레드 2가 인터럽트를 받았습니다"); } }); thread1.start(); thread2.start(); thread1.interrupt(); // thread2.interrupt(); try { Thread.sleep(500); thread1.join(); thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } 이 코드를 실행했을 때, 아래 이미지와 같이 IllegalMonitorStateException 이 발생했는데요. 아마 try ~ catch ~ finally 블록에 의한 문제가 아닐까 싶습니다. 이 부분이 어떻게 동작하여 오류가 발생한 건지 궁금한데, 답변 해주시면 감사하겠습니다.
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
public class Number4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int count = scanner.nextInt(); List<String> array = new ArrayList<>(); for (int i = 0; i <= count; i++) { array.add(scanner.nextLine()); } for (String str : array) { Deque<Character> stack = new ArrayDeque<>(); for ( char c : str.toCharArray()){ stack.push(c); } while (!stack.isEmpty()){ System.out.print(stack.pop()); } System.out.println(); } } } 위 풀이방법처럼 풀었는데 이게 컴파일 에러가 나는데 혹시 이 풀이방법이 문제점을 가지고 있을까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
혹시 강의해주시는 화면의 별도 pdf자료는없는건가요?? 출력해서 필기하면서 강의를 들으면 좀 더 효율적일거 같아서 문의드립니다.
미해결
김영한의 실전 자바 - 중급 2편
안녕하세요. Set<Map.Entry<String, Integer>> 이게 좀 궁금해서 살펴보니 Set<E> 제네릭으로 받게끔 되어 있고 그럼 여기서 Map.Entry<String, Integer> 이게 하나의 타입처럼 사용이 된다는 건데 Map 클래스에서 Entry는 interface로 되어 있어서요. Map.Entry라고 썼다는거는 Entry도 인터페이스(클래스)니까 중첩 static class 처럼 쓰였다는건데 static도 안 붙어 있고 관련된 구현체도 Map 클래스 내부에는 없는 거 같아서요. 추가 설명 부탁드립니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 컨트롤러 @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PreAuthorize("isAuthenticated()") public ResponseEntity<Long> createWalkInvitation( @RequestPart("walkInvitaionCreateRequestDto") WalkInvitaionCreateRequestDto request, @RequestPart("uploadPhotos") MultipartFile[] multipartFiles, @AuthenticationPrincipal PrincipalDetails principalDetails){ Long savedId = walkInvitationService.createWalkInvitation(request, multipartFiles, principalDetails); return ResponseEntity.ok().body(savedId); } 서비스 계층 public Long createWalkInvitation(WalkInvitaionCreateRequestDto request, MultipartFile[] multipartFiles, PrincipalDetails principalDetails) { Member member = principalDetails.getMember(); WalkInvitation walkInvitation = WalkInvitation.builder() .writer(member) .title(request.getTitle()) .content(request.getContent()) .latitude(request.getLatitude()) .longitude(request.getLongitude()) .detailedLocation(request.getDetailedLocation()) .walkStartDateTime(request.getWalkStartDateTime()) .walkingStatus("산책 대기 중") .build(); // member.getWalkInvitations().add(walkInvitation); List<Photo> photos = photoService.savePhotosToWalkInvitation(multipartFiles, walkInvitation); walkInvitation.addPhotos(photos); walkInvitationRepository.save(walkInvitation); return walkInvitation.getId(); 위 주석처리 한 부분// member.getWalkInvitations().add(walkInvitation)에서 failed to lazily initialize a collection of role 가 발생합니다. 오류가 발생하는 이유는 JWT 토큰 방식을 구현한 스프핑 시큐리티의 인증/인가 과정에서 해당 컨트롤러에 도달하기전에 필터에서 이미 SecurityContext에 principalDetails를 authentication 하면서 principalDetails라는 객체에 member가 저장되어 있는 상태입니다. 그래서 이미 서비스 계층에서 위 코드에 Member member = principalDetails.getMember();를 호출하는 시점에는 getMember 호출 시 DB에 접근해서 값을 가져오는 것이 아닌, 순수한 객체 상태의 member를 가져오기 때문에 영속성 컨텍스트에 member가 저장되어 있지 않기에 프록시 오류가 발생하는 것 같습니다(로그로 DB에 접근하지 않는 것 확인) 이러한 문제를 해결하기 위해서는 principalDetails.getMember()로 얻은 멤버정보로 DB에 저장된 Member를 다시 가져와서 영속성 컨텍스트에 저장시키는 방식을 택해야 할까요? 스프핑 시큐리티의 인증/인가 과정(JwtAuthorizationFilter)에서 accesstoken을 바탕으로 이미 member를 db에서 찾아오는 쿼리문이 한번 나갔는데, 또 호출하려니 조금 비효율적인 것 같아서 고민이 됩니다. 다른 방법이 있을까요?
해결됨
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요. 현재 Rest Api로 백엔드 개발을 하고, View는 Html thymeleaf를 이용해 구현을 하려고 합니다. 리액트 등의 프레임워크를 사용하지 않는다면, @GetMapping으로 View단을 불러올 때, @RestController가 아닌 @Controller에서 불러와야하는데 그렇다면 @RestController와 @Controller 둘 다 따로 만들어야 하는지 궁금합니다. 예를 들어, 공지사항 전체 조회의 @RestController의 코드가 // // 공지사항 전체 조회 // @GetMapping("/ypjs/board/notice/notices") // public Result findAll(@RequestParam int offset, @RequestParam int limit) { // List<Notice> noticeList = noticeService.findAll(offset,limit); // List<NoticeDto.NoticeApiDto> result = noticeList.stream() // .map(n -> new NoticeDto.NoticeApiDto(n.getNoticeId(), n.getNoticeTitle(), n.getNoticeContent(), // n.getNoticeCnt(), n.getNoticeDate(), n.getMember().getNickname())) // .collect(Collectors.toList()); // return new Result(result); // } 라면, 공지사항 전체 조회의 @Controller의 코드는 이렇게 구현하면 되는건가요? + 만약 이게 맞다면 @RestController의 GetMapping URL과 @Controller의 GetMapping URL이 겹치면 실행이 안되므로, @RestController의 URL을 /api/ypjs/board/notice/notices로 변경하면 될까요? 그렇다면, 제 프로젝트에서 @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 남겨놔도 되는건지 궁금합니다.. 그리고 View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 쓰이는 방법인지가 궁금합니다. ---------------------------------------------------------------------------------------------------------------- (질문 요약) 1. 리액트 같은 프레임워크 없이 프로젝트를 Rest Api로 개발할 때, 화면만을 위한 @Controller 클래스를 따로 만들어도 되나요? 만약 이 경우에 GetMapping URL이 겹치면 안되니까 @RestController의 URL엔 /api/를 추가해서 겹치지 않게 하는 식으로 하나요? 2. 다른 부분은 rest api로 개발하고, View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 사용하는 방법인가요? 3. 만약 화면을 위해 @Controller 클래스를 만드는게 좋은 방법이라면, @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 활용할 방법이 있을까요? + 남겨놔도 되는건가요? 화면을 따로 개발하는 것이 아니라, 저처럼 같이 개발하는 경우 Rest api 개발을 하는것이 의미가 있 는지 궁금합니다. Rest api 개발을 경험해보고 연습해보고싶어 백엔드단을 Rest api로 먼저 개발해서 완성하고, 프론트엔드는 프레임워크를 다루지 못해 html을 이용해 화면을 만들고 연결하는 식으로 했다!는 것이 Rest api로 프로젝트를 만드는 것에 대한 충분한 설명이 될 수 있을까요?
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 강의를 따라하며 프로젝트를 진행했더니 어느덧 배포까지 끝냈는데요 다 해보고나니 대출목록 조회나 다른 추가 기능들을 혼자 구현해보고 싶다는 생각이 들었습니다. 제가 프론트에 대한 지식이 많이 부족하고 저희 프로젝트에서는 강사님이 주신 프론트를 그대로 가져다 사용하고있기 때문에 프론트가 어떤식으로 구성되어있는지 잘 모르겠습니다..ㅠ 혹시 저희 프로젝트에서 프론트 단을 어떻게 하면 수정하거나 추가할 수 있는지 알 수 있을까요? 아니면 변경이 어렵다면 백엔드 개발자가 프로젝트를 진행하면서 간단하게 프론트를 구현할 수 있는 방법이 있을까요? 감사합니다.
미해결
김영한의 실전 자바 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. ClassA에 매개변수가 없기 때문에 명시적으로 호출하지 않아도 자동으로 호출된다고 하셨는데, 그렇다면 아래 코드에서도 명시적으로 부모 클래스를 호출하지 않아도 되지 않을까 싶어서 문의 글 남겨드립니다! 컴파일 진행 시 정상 작동되고, 생각해 보아도 왠지 필요 없을 것 같다고 생각이 들어서 질문 글 한 번 남겨드립니다! public class ClassB extends ClassA { public ClassB(int a) { this(a, 0); System.out.println("ClassB 생성자 a = " + a); } public ClassB(int a, int b) { //super(); <-생략 가능하지 않나요? System.out.println("ClassB 생성자 a = " + a + ", ClassB 생성자 b = " + b); } }
미해결
실전! Querydsl
PostgreSQL 종속된 insert쿼리를 날려야 하는데 query.insert(user).columns(....)... QueryDSL 문서를 보면 컬럼에 user.name 이런식으로 넣어주라고 되어있는데 Entity는 private로 생성해야 하는 걸로 아는데 어떻게 처리 해야 할지 막막합니다. 사용할 쿼리는 아래와 같습니다. insert into user ( user.name , user.email ) value ( encode(encrypt(convert_to(유저명,'utf-8'), 'key', 'aes'), 'hex'), encode(encrypt(convert_to(유저메일,'utf-8'), 'key', 'aes'), 'hex') ); 감사합니다.
미해결
김영한의 실전 자바 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 다름 아니라 VarChange1 예제 관련 질문 드립니다. int a = 10 int b = a 이때, a =20으로 한다면, 우선 변수 a에 20이 들어가고, int b = a이니 변경된 a의 값이 복사 되어 b값이 업데이트 되어야 하는 것 아닌가요? 잘 이해가 되지 않습니다. 프로그램 상 위에서부터 순차적으로 코드를 읽어, 이미 int b = a가 실행되었고, loop를 돌리거나 b = 값 과 같이 따로 적어주지 않는 이상 b의 값이 업데이트 되지 않는 것으로 이해해도 될까요? 앞에서 Java - start 편에서는 이해가 되던게, 갑자기 이해가 안됩니다.
미해결
김영한의 실전 자바 - 중급 2편
안녕하세요. Arrays.asList()는 ArrayList를 반환하는 걸 확인했는데 List.of()는 결과적으로 new ListN<>(tmp, false); 다음과 같은 ListN 객체를 반환하던데 이게 어떤 것인지 궁금합니다. List 구현체로 알고 있으면 될까요 ?
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요, 강의 잘 듣고 있습니다. 작성한 코드 실행 시 테스트 케이스 4번에서만 오답처리 되어 확인을 해봤습니다. 4번째 테스트 케이스인 9, [3 6 13 11 7 16 34 23 12] 를 입력한 후 디버깅을 해본 결과 실제로 중복집합이 발생하는 것으로 확인됐습니다. 제 코드 상에 어떤 부분이 문제가 됐는지 알고 싶습니다. import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { static int level; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int max = 0; int dep[] = new int[size + 1]; level = size; for (int i = 1; i < dep.length; i++) { int val = sc.nextInt(); dep[i] = val; if (val > max) { max = val; } } int[] check = new int[max + 1]; Map<Integer, Integer> map = new HashMap<>(); dfs(1, check, dep, map); Collection<Integer> values = map.values(); boolean duplicate = false; for (int i : values) { if (i != 1) { System.out.println("YES"); duplicate = true; break; } } if (!duplicate) { System.out.println("NO"); } } public static void dfs(int l, int check[], int[] depth, Map<Integer, Integer> map) { if (l == level + 1) { int sum = 0; for (int i = 1; i < check.length; i++) { if (check[i] == 1) { sum += i; } } if (sum > 0) { map.put(sum, map.getOrDefault(sum, 0) + 1); System.out.println("Sum: " + sum + ", Count: " + map.get(sum)); } } else { check[depth[l]] = 1; dfs(l + 1, check, depth, map); check[depth[l]] = 0; dfs(l + 1, check, depth, map); } } }