묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
2110번 문제 ispossible 함수 내부에서 조건문이 궁금합니다
안녕하세요 파라매트릭 서치 2110 풀다가 오답처리된 코드에 궁금한 점 생겨 질문드립니다. 정답처리된 코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class P2110 { static int N, C; static long result; static int[] home; static long parametricSearch() { long left=0; long right=home[N-1]-home[0]; long mid = (left+right)/2; while(left<=right) { if(isPossible(mid)) { left = mid+1; result = mid; } else { right = mid-1; } mid = (left+right)/2; } return result; } static boolean isPossible(long mid) { //그리디한판단 : 맨 첫번째를 두는게 이득 + 거리 mid만큼 떨어진 바로 다음 집에 두는게 이득 int cnt=1; int lastIdx=0; for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } } return C<=cnt; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); home = new int[N]; for (int i = 0; i < N; i++) home[i] = Integer.parseInt(br.readLine()); Arrays.sort(home); System.out.println(parametricSearch()); } } 75%에서 오답처리된 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class P2110 { static int N, C; static long result; static int[] home; static long parametricSearch() { long left=0; long right=home[N-1]-home[0]; long mid = (left+right)/2; while(left<=right) { if(isPossible(mid)) { left = mid+1; result = mid; } else { right = mid-1; } mid = (left+right)/2; } return result; } static boolean isPossible(long mid) { //그리디한판단 : 맨 첫번째를 두는게 이득 + 거리 mid만큼 떨어진 바로 다음 집에 두는게 이득 int cnt=1; int lastIdx=0; for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } if(cnt==C) return true; } return false; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); home = new int[N]; for (int i = 0; i < N; i++) home[i] = Integer.parseInt(br.readLine()); Arrays.sort(home); System.out.println(parametricSearch()); } } 다른 부분은 전부 동일하고최소거리가 mid일 때 공유기 C개를 두는 것이 가능한지 판별하는 isPossible 내부에서 return만 다릅니다.for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } if(cnt==C) return true; } return false;설치할때마다 cnt를 증가시키고, cnt==C가 되는 시점에 도달하면 어차피 현재의 mid로 공유기 C개를 두는게 가능하단 의미니까 true를 리턴해서 끝내고, cnt==C에 도달하지 못한다면 C보다 적은 개수만 설치할 수 있으니 false를 리턴한다고 작성했습니다.반면에 강의안으로 제공해주신 코드에서는 반복문 안에서 판단해서 리턴하는 것이 아니라, 반복문 전부 돈 결과인 cnt와 C를 비교해서 리턴하는 것으로 이해했습니다. 정답풀이가 맞는 방식이라는 점은 이해가 가는데 오답풀이가 어떤 반례가 있는지는 잘 모르겠습니다
-
해결됨[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
VDM을 몇 번을 다시 했는데 잘 안됩니다.
나머지는 다 잘되는데 마지막 안드로이드 VDM에서 막혀서 연동이 실패가 나고 있습니다 제 나름대로 찾아보고 3번을 다시 했는데 안됩니다. 제가 뭘 놓치고 있는지 모르겠습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
카운터앱 강의 - state대신 ref
강의 6.3) 기능구현하기카운트 컴포넌트를 state로 만들어야 한다고 하셨는데 state대신 ref를 사용하면 어떻게 되나요?ref는 리렌더링을 유발하지는 않지만 dom에 접근이 가능한 걸로 알고 있습니다. 그렇다면 ref를 사용해도 무방하지 않냐는 것이 저의 생각입니다.ref를 사용한다면 ui변경이 가능하지만 리액트가 그 수정을 감지 못하는 문제가 생겨서 state를 사용하는 것인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 강의 학습 방법에 대해 질문드립니다
먼저 현재 저는 백준 골드1을 찍기는했지만,대부분 그래프,완전탐색,시뮬레이션 위주로 풀었고 그 마저도 엄청 잘풀지는 않는? 그런 애매한 상황에 처한 수강생입니다 질문) 해당 강의의 경우 시간복잡도와 처럼 이미 알고있는 내용의 개념설명 같은 경우는 과감하게 스킵하고 추천해주신 문제 위주로 풀어도 될지 궁금합니다
-
해결됨시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
TRACE32 사용 실습에서 RASPIAN KERNEL DEBUG
3.2.1.4, 5 강의에서 TRACE32 사용 실습을 해주시는데요. 강의 내용을 익히기 위해 범용 레지스터를 설정을 하면서 실습을 해보려고 합니다. 이때 실행하고 계시는 RASPBIAN KERNEL DEBUG를 어떻게 실행하나요?또는 실습을 위해 첨부해주신 T32 파일에서 실행할수 있는 데모앱이 있을까요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
부하테스트 비용 줄이는 방법이 있을까요?
로컬에서는 걱정이 없었는데배포는 안할 거지만 배포 시나리오를 나름 작성해놓고로컬성능으로 테스트하는게 의미없다고 판단해서클라우환경에서 해보려고 하는데 비용 발생이 고민입니다.VPC 내에 테스트 하는 서버를 만들고대상 서버들을 호출하는 방식으로 하면 절감할 수 있을까요?같은 VPC 내의 다른 가용영역에서는 네트워크 사용비용 자체는소량이라고 알고 있어서 실제 외부에서 들어오는 거랑은 다르겠지만,이렇게 해볼 생각입니다.혹시 다른 방법이 있을까 여쭤봅니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
register 할때 formatter가 언제 적용이 되는 건가요?
json으로 date 파라미터를 보낼때 자동으로 변환 되서 들어간다는 건가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
개발자도구 f12 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]serveltapplication 실행 후 localhost로 들어간 이후 개발자도구에 들어와도 아무런 변화가 없습니다. 사진첨부합니다
-
미해결
안드로이드와 백엔드 협업시 타입 불일치에대해 질문합니다.
안녕하세요. 저는 안드로이드 개발자로 백엔드와 협업을 하면서 겪게된 문제로 질문을 하려고합니다.백엔드분이 명세해주신 Swagger를 보면 성공적으로 데이터를 받아 왔을때 { "code": 0, "message": "null", "content": [ { "authorId": 0, "username": "string", "UserProfileImageUrl": "string", "currentJob": "회사원", "grade": "JUNIOR", "profileTitle": "프로필 제목", "introduceFirst": "자기소개 첫째줄", "introduceSecond": "자기소개 둘째줄", "introduceThird": "자기소개 셋째줄" } ] }이렇게 날라오는데 혹시나 어떠한 오류가 발생했을땐{ "code": 401, "message": "Failed JWT verification!", "content": "UNAUTHORIZED" }이렇게 에러코드와 메세지를 주면서 content에서도 어떤 문제가 생겼지, 문자열로 변환이 되어서 날라옵니다.즉, content의 타입이 객체에서 문자열로 바뀌게 됩니다. 저의 코드는 이러합니다. data class ResponseDto<T>( @SerializedName("code") val code: Int, @SerializedName("message") val message: String?, @SerializedName("content") val content: T? )data class AuthorResponseDto( @SerializedName("authorId") val authorId: Int, @SerializedName("userName") val userName: String, @SerializedName("userProfileImageUrl") val userProfileImageUrl: String, @SerializedName("currentJob") val currentJob: String, @SerializedName("grade") val grade: String, @SerializedName("profileFirst") val profileFirst: String, @SerializedName("profileSecond") val profileSecond: String, @SerializedName("profileThird") val profileThird: String )interface WriterApiService { @GET("api/v1/authors") @Headers("Authorization: Bearer ${Constants.USER_ACCESS_TOKEN}") suspend fun authors( @Query("lastAuthorId") lastAuthorId: Int, @Query("specialtyFilter") specialtyFilter: String ): ResponseDto<AuthorResponseDto> } 현재 ResponseDto DataClass는 어떠한 API를 쓸때마다 계속 사용하고있어 제네릭타입으로 사용하고 있었습니다.그러나 에러가 발생했을때 타입 불일치로 ( content는 에러 발생시 String으로만 값을 주고 있음 ) 백엔드에서 보내주는 에러 메세지와 에러 코드 자체를 볼 수 가없는 상황입니다 ㅠ 백엔드분께 이에대해 문제를 제기해보니, 이건 안드로이드 개발자인 제가 이 명세서에 맞게 분기처리를 해줘야 한다고합니다.iOS 개발자님께 이 분기처리를 어떻게 해주었냐고 여쭈어 보았더니 이런 문제를 겪어 본적이 없어 해결방안을 얻지 못하였습니다.. 하지만 약간의 의구심과 해결 방법을 알고싶습니다 ㅠ 백엔드와 협업할때 당연히 발생하는 문제인지? 어차피 에러 코드와 메세지를 보내주는데 굳이 객체를 담고 있는 content를 에러메세지 형식으로 보내는것이 맞는지? 해당 문제를 어떻게 해결하면 좋을지.. 안드로이드에서 처리를 해야한다면 각 타입에 따라 분기 처리를 해줘야 하는지? 이건 제네릭 타입으로 하면 안되는건가..?분기 처리 문제가 아니라 애초에 제가 코드상으로 타입이라던지 반환값등을 잘못 설정 하고 있는건지 이 문제로 3일간 고민해보고 gpt, 린튼등 ChatBot과 레퍼런스등을 참고하고있는데 확실한 답을 찾기가 어렵습니다..도움 요청합니다!!!!
-
미해결스프링 시큐리티 OAuth2
oidc 로그인
선생님 구글 로그인은 oauth2Login() 을 사용하지만 결국에는 oidc Scope를 사용하기 때문에 oidc 인증 프로토콜을 사용해서 인증절차를 사용한다고 보면 될까요?
-
해결됨ChatGPT 고급 활용법 – 남들보다 100배 더 잘 쓰는 ChatGPT 비법 클래스
강의 잘 보고 있습니다.
엉뚱한 질문일수도 있겠지만, 판서하실때 사용하시는 그 이쁜 깃털펜은 어디에서 찾을수 있나요? 😁
-
미해결3DS MAX 입문강좌 (입문부터 자동차 예제까지)
Connect 기능 사용할 때 선이 서서히 나타나는 모션을 끌 수 있을까요?
버텍스나 엣지를 커넥트할때 선이 fade in애니메이션 효과처럼 서서히 나타나는데요. 와이어 프레임 모드처럼 바로 생성되어 보이게 설정 할 수 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RestController GetMapping의 중복 질문
MappingClassController에서 구현한 GetMapping은/mapping/users + GET으로 호출합니다.@GetMapping("/mapping/users") public String user() { return "get users"; }이 때, 앞서 구현한 MappingController에서 구현한@GetMapping("/mapping/{userId}") public String mappingPath(@PathVariable("userId") String data) { log.info("mappingPath userId={}", data); return "ok"; }위 코드는 /mapping/{userId} + GET으로 호출합니다. 위 상황에서, /mapping/users를 GET으로 조회할 경우MappingClassController가 호출됩니다.제가 궁금한 것은, 두 컨트롤러 사이에 우선순위가 존재하나요?그렇지 않다면 Spring은 같은 문자열인 users가 {userId}가 아닌 것을 어떻게 구별하나요?
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
3-8. Google Sheets로 Retention Curve 시각화하기 질문
안녕하세요 강사님ctrl + A를 해도 전체 화면이 선택이 안되는 것 같습니다.삽입 목록도 클릭이 안되게 막혀있습니다!해결 방법이 궁금합니다 :)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
강의자료를 공유 부탁드립니다.
강의자료를 보면서 복습하면 효율적일 것 같은데, 자료를 공유받을 수 있을까요?제 이메일은 ehrua0208@naver.com입니다.
-
해결됨SQL 코딩테스트를 위한 첫 걸음
workbench 테이블 생성
안녕하세요! workbench에서 스키마는 생성했는데 테이블은 어떻게 생성하나요? 제공해주신 세팅 코드를 입력해서 테이블 구조를 보고 싶은데 이 부분에서 해결이 안돼요.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
testUpdate를 하실때 질문이 있습니다.
강의에서는 명시적으로 todoRepository.save(todo);를 해주셨는데 어떤 강의에서는 더티체킹으로 업데이트를 하는게 좋다고 하는 말을 들었습니다. 보통 실무에서는 어떤 방식을 더 선호하나요?
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Yield 를 사용한 후 currentThread
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. public void run() { while (!Thread.interrupted()) { if (jobQueue.isEmpty()) { Thread.yield(); continue; } ... }위에 코드에서 Yield 를 사용하면 그 쓰레드가 양보를 해서 다시 스케쥴러로 들어간다고 하셨는데, 그러면 Thread.yield(); 가 실행이 된 후에, 다시 CPU 가 이 쓰레드를 실행시키기 전까지 그 다음 줄의 continue 코드는 실행되지 않고 멈춰있는 상태라고 생각하면 될까요? 그렇다면 쓰레드는 CPU 가 다시 실행시킬 시점에 몇번째 라인까지 실행을 했는지 기억하고 있다가 CPU 에게 알려주는 건가요? 감사합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
강사님. 뵙고 싶어요^^
방가요. 강사님과 온라인이나 오프라인에서 볼 수 있게 커뮤니티 만들어 주시면 좋겠어요^^
-
해결됨실무에 바로 적용하는 AWS 배포
EC2 Auto Scaling 부하테스트
안녕하세요.강의 잘 듣고 있습니다.EC2 Auto Scaling에서 시간기반으로 진행하셨는데,추가로 트래픽이나 CPU, Memory 사용량 기반으로 테스트해볼 수 있는 도구나 프로그램이 어떤게 있을까요?감사합니다.