제가 다음과 같이 코드를 작성했는데, 100%까지 가다가 틀립니다.. 어떤게 문제일까요? 반례를 제시해주실 수 있나요? 감사합니다. https://www.acmicpc.net/problem/1068 import sys input = sys.stdin.readline n = int(input()) g = list(map(int, input().split())) m = int(input()) cnt = 0 def DFS(x): g[x] = -1 for i in range(n): if g[i] == x: DFS(i) DFS(m) for i in range(n): if g[i] != -1 and i not in g: cnt += 1 print(cnt)
작성글 저장2 - 클래스 분리에서 PostCreate 테스트 시 기본생성자 없이 테스트 통과가 어떻게 되는지 궁금합니다. 커뮤니티에서 저처럼 이 부분에 대해 궁금증이 생겨 질문한 글을 보았습니다. 호돌맨님이 그 글에서 링크 건 동욱님 글도 보고 여러 가지 찾아봤는데요. 제 나름대로 결론을 지은 것을 말씀드리면 기본 생성자가 없을 때는 ObjectMapper가 인스턴스를 생성해 직렬화를 진행할 때 인자와 멤버 변수 간의 관계를 몰라서 그런게 아닐까 생각이 됩니다 그리고 호돌맨님의 답변 중 기본 생성자 없이 title, content에 내용을 넣으려면 어떻게 해야하는지에 대해서 고민해봐야 된다고 하셨는데요 저는 일단 아래와 같은 방법을 사용해서 테스트를 통과했습니다. @ToString @Getter public class PostCreate { @NotBlank(message = "제목은 필수입니다!") public String title; @NotBlank(message = "내용은 필수입니다!") public String content; @Builder @JsonCreator public PostCreate(@JsonProperty("title") String title, @JsonProperty("content") String content) { this.title = title; this.content = content; } } 혹시 제가 한 방법말고 기본생성자 없이 내용을 넣는 방법을 찾으셨는지? 궁금하고 어떻게 호돌맨님은 기본생성자 없이 테스트가 통과 됐는지.. 궁금합니다...
최근에 다시 자바스크립트로 돌리면서, 기존에 파이썬으로 했던 것들 다시 모두 자바스크립트로 풀어보면서 문제 풀어보니, 발견했습니다. 이거 첫번째 가정을, 그리디로 접근하면 해결 안되는 문제인것같습니다. 이후 가정들은 당연히 그리디 관념으로 최적값 찾을 수 있는데, 첫번째 가정부터 그리디로 접근하면 해결되는 문제가 아니라서 어긋나기때문에, 그리디관념이 통하지 않는 문제인것같습니다. 완전탐색해버리거나, 시간 더 줄이려면 백트래킹 가지치기 해야하는 문제인것같습니다. 입력입니다! 7 172 67 183 65 179 61 178 62 177 63 170 72 181 60 기존 풀이(무조건 183선발) 가 내주는 답 : 3 감독 현수가 원할 것 같은 답 : 6 그리디로 가장 키 큰 사람 무조건 선발하는 과정이 풀이에서 오류인것같습니다. 183 선발 가정하고 cnt 값 구하고, 그다음 181 선발 가정하고 cnt값 구하고, 쭉 다음 순으로 선발 가정하고 cnt값 구하는데, 만약 어떤 사람 선발 가정하고 cnt값 구하는데 남은 사람 수 다 합해도 기존 Max cnt보다 적을 경우, 백트레킹 가지치기로 break 혹은 return 끊어버리는게 맞는것같습니다. 풀이1. 이중포문 const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); let cnt = 0; let largest = 0; let res = 0; for (let i = 0; i < n; i++) { largest = arr[i][1]; cnt += 1; if (res >= n - i) { break; } for (let j = i + 1; j < n; j++) { if (arr[j][1] > largest) { largest = arr[j][1]; cnt += 1; } } res = Math.max(res, cnt); cnt = 0; } console.log(res); } solution(n, arr); 풀이2. DFS const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } let cnt = 0; let res = 0; //const list = []; function DFS(s, weight) { if (s < 0) return; if (cnt + n - s <= res) { cnt -= 1; s -= 1; return; } for (let i = s; i < n; i++) { if (arr[i][1] > weight) { cnt += 1; //list.push(arr[i][1]); DFS(i + 1, arr[i][1]); //list.pop(); } } res = Math.max(res, cnt); //console.log(list); cnt -= 1; } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); DFS(0, 0); console.log(res); } solution(n, arr);
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 공부하는 개발자 최태현님! 친절 + 자세한 강의 재미있게 잘 듣고 있습니다 ㅎㅎ 7강 초반을 듣는 중에 문득 궁금한 점이 생겼는데요, 아마 후반에 나올수도 있는 문의라 질문드리기 이른 감이 있지않나 싶지만.. 여튼 바로 질문 드려볼게요 가장 먼저 API를 설계해야 한다! : 클라이언트+서버 개발자분들이 모여 API에 대해 의논,설계,확정하곤 한다 라고 말씀해주셨는데, 현재 태현님 강의에서는 아무래도 클라이언트 부분이 만들어져있는 상태로, 서버에 집중하자는 취지로 진행중이다보니.. 실제 현업에서는 API를 위와 같이 먼저 확정 단계까지 마친 후, 클라이언트와 서버 개발자분들이 확정된 API 약속을 토대로 각자 업무를 진행하며 서로 체크해나가며 개발하는? 그런 흐름인지 궁금하네요 ! (비단 이 강의 뿐만 아니라, 다른 수업이나 인터넷 자료들도 대부분 짜여진 코드들을 가지고 공부를 하는 입장이다보니 실제로 토이프로젝트나 뭔가를 스스로 직접 만들어볼때 어디서부터 시작해야할지,, 조금은 막막한 심정도 있는 부분입니다) 제가 공부 시작한지 얼마 안된 초보이다보니,, 질문이나 용어 조차도 서툴러서 요점이 잘 전달 되었을지 모르겠네요 그럼, 멋지고 젠틀하신 태현님의 답변을 기다리며 7강과 뒷부분들 계속 진행하고 있을게요~ 긴 질문 글을 읽어주시고 답변 주셔서 미리 감사드립니다. 행복하세요!
public subnet 또는 private subnet 에서 외부로 나가는 트래픽에 대해서 IP를 설정하려면 internet gateway 에 IP 를 설정할수있나요? 예를들어 타 시스템 과 인터페이스를 해야 하는 경우에 타 시스템에서 접속가능한 IP 리스트를 관리하고 있다고 한다면, 우리시스템에서 외부로 트래픽이 나갈때 물고나가는 IP 를 타 시스템 관리자에게 공유해줘야 하는데 이 IP 를 공인 IP 로 변하지 않는 공인 IP 로 설정하려고 할때 어떻게 하나요? VPC 내 모든 subnet 에서 외부로 나가는 트래픽에 대한 source IP address 를 하나로 고정하고 싶은데 방법이 궁금합니다.
안녕하세요 호돌맨님! 강의에서는 호돌맨님께서는 스프링 시큐리티를 사용하시지 않고 AuthResolver 및 JWT 방식으로 인증 과정을 처리하셨는데 실무에서도 이렇게 많이 처리하는 편인지 궁금합니다. 인증을 이렇게 처리하고 인가 부분만 스프링 시큐리티를 사용하시는지, 아니면 추후에 인증 부분도 스프링 시큐리티를 사용하셔서 리팩토링 하실지도 궁금합니다! 감사합니다.
안녕하세요 호돌님! 데이터 검증2 부분에서 Map을 Dto로 변경후 테스트를 통과하였는데, 맞는 방법인지, 더 효율적인 방법이 있는지 궁금합니다! 변경한 코드내용은 다음과 같습니다 ErrorResponse Validation 클래스 생성 테스트 코드 테스트 결과 답변 부탁드립니다 감사합니다!
{ "compilerOptions": { "baseUrl": "src" }, "include": ["src"] } keonhongkoo@keonhongui-MacBookAir frontend % yarn start yarn run v1.22.19 $ react-scripts start node:internal/modules/cjs/loader:1325 throw err; ^ SyntaxError: /Users/keonhongkoo/Desktop/instagram/frontend/jsconfig.json: Unexpected token / in JSON at position 75 at parse (<anonymous>) at Module._extensions..json (node:internal/modules/cjs/loader:1322:39) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at getModules (/Users/keonhongkoo/Desktop/instagram/frontend/node_modules/react-scripts/config/modules.js:126:14) at Object.<anonymous> (/Users/keonhongkoo/Desktop/instagram/frontend/node_modules/react-scripts/config/modules.js:142:18) at Module._compile (node:internal/modules/cjs/loader:1254:14) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) Node.js v18.14.1 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 이렇게 결과가 출력되는데 해결책이 안보이네요... vscode도 재시작해봤습니다ㅠ
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 태현강사님! 강의 들으면서 주니어 서버 개발자로서 큰 흐름이 잘 잡히지 않았는데 순서대로 따라해보니 흐름을 이해하는데 많은 도움이 되고 있습니다 좋은 강의 감사해요!! 제가 현재 41강까지 강의를 수강하였는데 aws로 인스턴스 시작하기 전에 혹시 aws 가 비용폭탄 이야기도 좀 있어서 걱정이 되서요ㅠㅠ 1년 지나기 전에 계정삭제를 해야한다던가 그런 추가적으로 제가 해줘야 하는 부분은 다음 강의들에 설명 되어져 있을까요?!
실무를 하다 보면 다양한 Exception이 많이 나오게될텐데 그럴때마다 Exception파일을 만들어서 상속 받은 뒤 처리를 하시나요?? 그러면 엄청나게 많은 Exception파일들이 생길 것 같아서요!! 아니면 공통적인 Exception들만 ExceptionHandler로 잡아서 에러처리하고 공통적이지 않은 Exception들은 어떤식으로 처리하는지 궁금합니다. 저희 회사같은 경우는 Enum클래스에 여러가지 상황에맞는 상태코드와 문구를 설정해두고, 해당 상황이 나오면 상태코드와 문구를 Json데이터에 세팅하여 내려주더라구요. 반면에 ExceptionHandler는 사용하지 않고 있어요. 호돌맨님은 어떤식으로 처리하는지 궁금하여 질문드립니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
기존에 인터넷을 보면 스프링과 스프링부트를 분리하여서 스프링 하기전에 스프링 부트를하라고 이야기도 하고, 기업에서 스프링은 어떤데 스프링부트는 이러하다 다른 기술스택이라는식의 영상과 글들을 접해왔는데요 스프링 강의인데 스프링 부트로 진행하시고 다른 강사님들도 그렇게 하시더라고요 여기서 궁금한게 스프링과 스프링부트는 구별하지 않아도 되는걸까요?(그냥 스프링과 스프링부트를 혼용해서 써도 되는건지) 스프링부트가 아닌 스프링은 어떻게 공부해야할까요? 기업에서는 스프링부트가 아닌 스프링을 더 선호하나요?
사용자 입력 예외처리를 하고 있는데, 1)문자 입력 시 오류 2)3자리 숫자가 아닐 경우 오류 다음과 같이 코드를 짰는데 1)의 경우 except 부분에서 "입력 오류"를 출력하지만 2)의 경우 "입력오류"가 출력되지 않고 그냥 재입력하게 되네요. 혹시 이유를 알 수 있나요? 또한 문자 입력 시 "숫자만 입력 가능합니다"를 출력 두자리수 입력 시 "세 자리 수를 입력하세요"를 출력 하도록 하려면 코드를 어떻게 수정해야 할까요? 감사합니다.! #세 자리 숫자만 입력할 수 있게 하는 함수 def input_check(msg, casting = int): while True: try: num = input(msg) # 사용자 입력 num_str = str(num) #맨 앞의 수가 0일경우 0이 잘려버리기 때문에 str을 따로 저장 if(casting(num) and len(num) == 3): return num_str except: print("입력 오류") continue
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
로그인이나 회원가입 후 메인페이지 헤더 부분에 비회원과 회원 구분하는 바가 나오지 않습니다. header.js코드는 그대로 복붙하고 url 에서 포트만 3001 -> 3000 으로 바꿨습니다 back end의 indexRoute에서 아래 app.get("/jwt", jwtMiddleware, index.readJwt); 코드도 잘 추가하였는데 문제가 어떤건지 모르겠습니다 ㅠㅠ
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
사진과 같이 대출기능을 실행할 때 java.sql.SQLSyntaxErrorException: Unknown column 'userloanhi0_.bookname' in 'where clause' 라는 오류가 발생하여 진도가 안 나갑니다 ㅠㅠ... 테이블, 컬럼명도 똑같이 만들고, 선생님 코드랑 똑같은데 왜 안될까요 ...... 혼자서 해결해보려고 몇 시간을 헤매었지만 너무 힘드네요 ㅠㅠ 도와주세요 선생님.......