import java.io.*; public class Main { public int solution(int n) { int answer = 0, sum = 0, lt = 0; for (int rt = 0; rt <= n/2+1; rt++) { sum += rt; if (sum == n) answer++; while (sum >= n) { sum -= lt++; if (sum == n) answer++; } } return answer; } public static void main(String[] args) throws IOException { Main main = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); System.out.print(main.solution(n)); } } 따로, n/2+1 크기만큼의 배열을 생성해주지 않는 풀이인데, 어느 부분이 잘못되서 오답처리가 되는 것인지 잘 모르겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. 안녕하세요!! 수업을 들으면서 생긴 궁금증인데 Member랑 Orders가 1:N 관계로 양방향으로 매핑이 되어 있자나요. 그럼 Members 객체를 호출해서 SQL문을 날리면 Orders List관련 SQL문은 따로 안날리고 나중에 Orders에 접근할때 SQL을 날리는 방식이 지연 로딩 방식인건가요?? 연관된 객체 탐색이 쉽다는 이유로 연관 매핑을 막 사용하면 안되고 진짜 필요할 때만 사용하라는 말이 있더라고요. 조회 기능 같은 경우에는 (CQRS) 별도 모델을 만들어서 구현하라는 말을 들었는데, 이번 강의처럼 모든 테이블 사이에 연관관계를 매핑 해줘도 되는건가요??
if (_popCount == 1) { Node* node = _pendingList.exchange(nullptr); if (--_popCount) { DeleteNodes(node); } else if (node) { ChainPendingNodeList(node); } delete oldHead; } _popCount가 1인 상태가 나 혼자 삭제하고 있는 중이고 혼자 삭제하는 중이라면 삭제가 예약된 데이터들도 삭제한다고 이해를 했습니다. 삭제가 예약된 데이터들을 삭제를 할 수 있는지 체크하는 부분이 위에 있는 if(--popCount) 조건문으로 알고 있는데 여기서 --_popCount를 하면 _popCount가 0이 되어서 나 혼자 삭제하는 중이여도 다른 예약된 데이터들을 삭제를 할 수 없는거 아닌가요??
똑같이 설치 했는데 왜 저는 강사님 처럼 데코레이터는 파란색 함수명은 빨간색으로 하고 싶은데 저는 이 2개가 같이 바뀌네요 ? ㅠ 스코프를 아래와 같이 설정하면, 데코랑 함수명이 같이 움직입니다. 따로 셋팅은 힘든 걸가요? "scope": [" entity.name .function"], "settings": { "foreground": "#FFFF00" }
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? [질문 내용] 안녕하세요. 강의와 자료를 병행해서 보다가 질문이 있어 문의드립니다. 우선적으로 https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-%EC%8B%A4%EC%A0%84&unitId=28020&tab=community&category=questionDetail&q=723744 해당 내용을 읽어보았는데도 이해가 되질 않아 문의드리게 된 점 양해부탁드립니다 ㅜ 해당 내용처럼 저도 application.yml 내 use_sql_comments: true 를 추가 쿼리문을 확인하였을 때 forCounting=false /* select count(m) from Member m where m.username = :username */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1'; forCounting=true /* memberRepository.findByUsername */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1'; 위와 같은 결과를 반환받았는데 어떤 차이가 있는지 잘모르겠습니다 ㅜ 어떤 의도를 말씀하시는지 잘모르겠습니다 ㅜ
gateway에 swagger 설치해서 api 리스트를 체크하고 있습니다. 라우트 정보를 config 서버에서 관리하도록 변경해서 gateway 재시작 없이 /actuator/refresh로 라우트 정보가 갱신되는 것은 성공했습니다. 그런데 gateway에 있는 swagger에 definition 목록에서는 추가된 라우트 정보가 반영되지는 않더군요. apidoc 라우트 빈 등록하는 부분에 @RefreshScope를 적용해봐도 그대로라서 gateway 재시작 없이 반영할 수 있는 방법이 있을까요? @Configuration public class OpenApiDocConfig { @RefreshScope @Bean @Lazy(false) public List<GroupedOpenApi> apis(SwaggerUiConfigParameters swaggerUiConfigParameters, RouteDefinitionLocator locator) { List<GroupedOpenApi> groups = new ArrayList<>(); List<RouteDefinition> definitions = locator.getRouteDefinitions().log("OpenApiDocConfig").collectList().block(); Optional.ofNullable(definitions) .map(Collection::stream) .orElseGet(Stream::empty) .filter(routeDefinition -> routeDefinition.getId().matches(".*-service")) .forEach(routeDefinition -> { String name = routeDefinition.getId(); swaggerUiConfigParameters.addGroup(name); GroupedOpenApi.builder().pathsToMatch("/" + name + "/**").group(name).build(); }); return groups; } }
여러 패키지를 강의에서 사용하는데 그동안 패키지들이 버젼업이 많이 된만큼 강의에서 진행하는 부분과 차이가 있는 부분들이 꽤많네요.. husky도 이제 package.json에서 수정하는게아니라 추가하는 커맨드 사용해서 하구요 강의가 업데이트된다면 더 퀄리티좋은 강의가 될것같습니다.
안녕하세요. 강의 잘 듣고 있습니다. access token 생성중에 에러가 생겨서 진행이 안되고 있어 문의드립니다. 해당 부분에서 secret 임이의 문자열을 ES512 알로리즘 방식을 적용할 때 아래와 같은 에러가 발생합니다. Key bytes may only be specified for HMAC signatures. If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead. ES256을 적용도 해보고 여러 시도를 해봤는데 동일한 에러가 발생하네요. 제가 실수한 부분이 있을까요? 참고로 yml 설정은 강사님과 동일하게 맞췄습니다. 조언 부탁드려요! ============================== 원인을 찾았습니다. HS512로 적용해야하는데 ES512로 적용했네요. ㅎㅎ ES512는 임의의 문자열을 알고리즘으로 변환을 못해 에러가 발생했는데 자세히는 모르겠네요. 아시는 분 있으면 답글 부탁드립니다.ㅎㅎ
function test<T extends abstract new (...args: any) => any>(param: T): void{} class A { a: string = 'hi' } test(A); // 성공 test(new A()); // 실패 abstract new (...args: any) => any이 생서자 함수타입이라고 하셨는데 클래스 A의 생성자 함수(constructor)는 prototype 하위에 있고 A의 인스턴스는 __proto__ 내부에 constructor이 있는걸로 알고있는데 왜 클래스만 통과되고 인스턴스는 통과하지 못하는지 궁금합니다.
무기 위치 조정 할 때, weapone의 y 좌표를 줄여 나감으로 위로 쏘아 올리는 건 이해 하는데, 만약 weapones에 [[10,50],[10,40]]이라는 무기 포지션이 있다면, 아래 코드를 만나서 (speed가 10이라면) weapons=[[w[0],w[1]-weapone-speed] for w in weapons 10,50 ->10,40이 되고 아래 코드를 만나서 for weapone_x_pos, weapone_y_pos in weapones: screen.blit(weapone,(weapone_x_pos, weapone_y_pos)) 10,40을 그려주고 다시 weapons=[[w[0],w[1]-weapone-speed] for w in weapons 이 코드로 올라가서 10,30이 되고 또 10,30을 그려주고 이걸 반복하는 건가요..? *리스트의 첫 번째 인덱스로 (10,40)이 되어 그려주고 두번째 인덱스로 넘어가서 (10,30)이 되어 그려주고 이걸 반복할 것 같은데 첫 번째 인덱스의 weapone-speed가 계속 반복 되는 게 이해가 안되요ㅠㅠ *제 질문이 이해가 안가실 것 같기는 한데 이런 고민 해 보신 분 없으실까요?
안녕하세요. 백엔드 과정을 수강 중인 학생입니다. WSL2로 강의 수강 시 문제점에 관하여 아래 내용여쭙고 싶어 글 남깁니다. 번거롭겠지만 답변해주시면 정말 감사하겠습니다. 현재 16GB RAM 사용 중이며 윈도우 기본 설치된 노트북을 사용 중입니다. 윈도우를 제거하고 우분투를 설치할 환경이 되지 않아서 WSL2를 설치하여 사용하려 하는데 강의를 들으면서 추후 RAM 관련 문제가 발생할 수 있을까요? ***아래 캡처는 현재 제 노트북 사양입니다*** [캡처]