묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임에러(ArrayIndexOutOfBound) 가 나는 이유
안녕하세요 강사님 강사님 강의 문제에 대한 질문이 아니라 답변하기 힘드시면 괜찮습니다.강사님 강의를 다 듣고 추천해주신 백준 문제들을 풀다가 질문이 있어 질문드립니다. 백준 9019 문제에 관한 질문인데 백준에서 채점 받을때 ArrayIndexOutOfBound 가 나는 이유를 제 코드를 살펴봐도 어디서 문제이지 찾을 수 없어 질문드립니다. 9019 의 문제의 솔루션을 구글링 해봐도 다 똑같은 코드로만 작성을 해놔서 제가 작성한 코드가 어디가 문제였는지 알고 싶어 질문드립니다.package Baekjoon; import java.util.*; class DSLR { public int result; public String command; DSLR(int result, String command) { this.result = result; this.command = command; } } public class _9019 { static boolean[] ch = new boolean[10000]; static ArrayList<String> list = new ArrayList<>(); public void BFS(int input, int output) { Arrays.fill(ch, false); Queue<DSLR> q = new LinkedList<>(); q.offer(new DSLR(input, "")); while(!q.isEmpty()) { DSLR tmp = q.poll(); if (tmp.result == output) { list.add(tmp.command); break; } for (int i = 0; i < 4; i++) { if(i == 0) { int next_result = (tmp.result * 2) % 10000; if (!ch[next_result]) { String next_command = tmp.command + 'D'; ch[next_result] = true; q.offer(new DSLR(next_result, next_command)); } } if (i == 1) { int next_result = tmp.result - 1; if (next_result == 0) next_result = 9999; if (!ch[next_result]) { String next_command = tmp.command + 'S'; ch[next_result] = true; q.offer(new DSLR(next_result, next_command)); } } if (i == 2) { int next_result = (tmp.result % 1000) * 10 + (tmp.result / 1000); if (!ch[next_result]) { String next_command = tmp.command + 'L'; ch[next_result] = true; q.offer(new DSLR(next_result, next_command)); } } if (i == 3) { int next_result = (tmp.result % 10) * 1000 + tmp.result / 10; if (!ch[next_result]) { String next_command = tmp.command + 'R'; ch[next_result] = true; q.offer(new DSLR(next_result, next_command)); } } } } } public static void main(String[] args) { _9019 T = new _9019(); Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for (int i = 0; i < test; i++) { int a = sc.nextInt(); int b = sc.nextInt(); ch[a] = true; T.BFS(a, b); } for(String x : list) { System.out.println(x); } } }
-
미해결Nuxt.js 시작하기
nuxt3에선 asyncData가 없어진 기능이던데
asyncData 대신 쓸 수 있는 기능이 뭐가 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
뭐가 문제인지 모르겠네요
계속 이런식으로 뜨고 Error: Could not find or load main class com.example.dd.DdApplicationCaused by: java.lang.ClassNotFoundException: com.example.dd.DdApplication 에러가 납니다. 어떻게 해결해야하나요..
-
미해결
Pyqt6 Qthred 에서 Ui 함수 사용하기
이런 식으로 코드를 사용중입니다from PyQt6.QtWidgets import * from PyQt6.QtCore import * class thread (Qthread): def __init__(self): super().__init__() def run(self): while True: mainbot_window.fun1() class UI (QWidget): def __init__(self): super().__init__() self.inits() self.T1 = thread() self.T1.start() def inits(self): print("각종 변수 설정") def fun1(self): print("run code") def main(args=None): global mainbot_window app = QApplication(sys.argv) mainbot_window = UI() mainbot_window.show() try: app.exec() except KeyboardInterrupt: pass if __name__ == '__main__': main()여기서 global 변수를 사용하지 않고 싶습니다.글로벌 변수를 사용하지 않고 Thread 에서 Qwidget 의 함수를 사용할 방법이 있을까요?시도한것thread 에서 pyqtsignal.emit 을 사용해서 시도해봤는데 ui가 검은 화면으로 뜬체 작동하지않습니다.Qthread 대신 Qtimer 를 사용 =>작동은 잘되나 ui를 표시하는데 약간의 딜레이가 생깁니다. 그래서 되도록이면 Thread를 사용하고싶습니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
equals() 와 getter의 차이
public class _Quiz_09 { public static void main(String[] args) { List<Student> list = new ArrayList<>(); list.add(new Student("유재석","파이썬")); list.add(new Student("박명수","자바")); list.add(new Student("김종국","자바")); list.add(new Student("조세호","C")); list.add(new Student("서장훈","파이썬")); System.out.println("자바 자격증을 보유한 학생"); System.out.println("========================"); for (Student student : list) { if (student.getCertification() == "자바"){ System.out.println(student.getName()); } } } } class Student{ private String name; private String certification; public Student(String name, String certification) { this.name = name; this.certification = certification; } public String getName() { return name; } public String getCertification() { return certification; } }저는 Student 클래스를 생성할 때 getter를 만들어서 getter로 자바 자격증을 찾는 로직을 짯는데equals()와 getter를 비교했을때 어느 방법이 성능면이나 이점이 있는지 알 수 있을까요 ?
-
미해결선형대수학개론
[3.3]pivot, echelon form, determinant
안녕하세요, 강의를 수강하고 있는 학생입니다. 슬라이드 10 설명하시면서 18분 30초쯤에사람마다 echelon form을 만드는 방법은 다르지만 (scaling 등에 의해) pivot들의 곱은 같다고 말씀하셨는데 그 부분이 잘 이해가 가지 않습니다. 제가 생각하기에는 pivot들의 곱이 같은 것이 아니라 이전 determinant와 elementary row operation과의 관계에서 봤다시피 어떻게 echelon form을 만들더라도 결국 determinant는 같게 나온다와 관련이 있는 것 같습니다. 3.2의 example 1에서도 볼 수 있는 것처럼 마지막 echelon form에서 3번째 row를 0,0,-6,2로 한 것을 0,0,-3,2로 하더라도 3.2에 나온 Theorem 3의 c에 의해 2가 앞으로 나오니 결국 determinant가 같은 원리라고 생각했습니다. 제가 앞부분에서 뭘 놓쳤는지 궁금해서 질문드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 안됩니다.!
실행이 안됩니다..
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
brew install cocoapods 오류
brew install cocoapods 를 실행하게 되면 해당 오류가 발생하는데 이유를 모르겠어서 질문 드려요
-
해결됨실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit
환경설정 conda activate myST 해도 가상환경 설정에 들어가지 않습니다.
안녕하세요3강 콘다 가상환경에서비주얼 스튜디오 터미널에서 conda activate myST해도터미널에 계속 PS로 표시되며가상환경으로 들어가지 않습니다.cmd에서는 같은 명령어를 입력하면 들어가지는데비주얼 스튜디오 터미널에서는 들어가지지 않는 것 같습니다.뭐가 문제일까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
[HDL 37장] 질문
안녕하세요 강의 매번 잘 보고있습니다!이번 강의 초반 3분10초 쯤 데이터의 흐름에 대해 설명하시는 부분에 대해 궁금한 점이 있습니다.펌웨어에서 변수(랜덤 혹은 실제 사용될 변수)를 생성하고 프로그램을 실행시키게 되면, 이 데이터들은 자동으로 또 우선적으로 DDR 메모리에 저장이되고 이를 PS영역에서->I/F를 통해->PL영역으로 전송이 된다고 이해하면 될까요?
-
미해결Verilog를 이용한 FPGA 활용 기초
parts 선택 관련 문의드립니다 !
처음에 비바도 파일을 생성할 때 parts 선택 부분에서 xc7a35tcsg에 해당하는 parts를 찾을 수 없다고 나오면 이 문제는 어떻게 해결해야하나요?다른 parts나 boards로 이를 대체할 수 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
타입명 T, U, V
// 6. generic 타입 - 3 function getGeneric3<T, U, V>(arg1: T, arg2: U, arg3: V): [V, U, T] { return [arg3, arg2, arg1]; } const result6 = getGeneric3<string, number, boolean>("철수", 123, true);타입명을 T1, T2, T3 에서 T, U, V 로 줄일 수 있다고 보여주셨는데T, U, V 는 무엇의 줄인 말인가요? 그냥 의미 없는 알파벳인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 질문입니다.
안녕하세요 큰돌님. 강의를 듣고 있는 수강생입니다.현재 큰돌님 코드에서 while(scanf("%d", &n) != EOF)라는 코드를 작성하셨는데 EOF를 생략하고 cin >> n의 형식으로 작성을 하니 틀렸다고 뜹니다. 이에 EOF를 왜 사용하지 않으면 틀리는지 궁급합니다. 다음은 코드입니다.http://boj.kr/6b818f7ca5394a209864fb4063aa8811
-
미해결하루만에 Cypress로 작성하는 자바스크립트 E2E 테스트 코드
Cypress 설치 과정중에서
오늘 Cypress를 교수님이 올려주신 깃허브에 올려주신 링크를 가지고 저는 Windows를 쓰는지라, 버전이나 환경 설정이 달라도 VSCode에 cypress 설치까진 성공했습니다. 근데 문제는 ./node_modules/.bin/cypress open 소스 코드가 cypress 페이지에 아무리 찾아봐도 보이지 않는겁니다. 다른 방법이 없겠습니까? 아니면 몇 년 전에 찍은 강의인지 버전이 다른건가요? ./node_modules/.bin/cypress open 링크 소스를 가지고 계신다면 저한테 답장 보낼때 같이 보내드릴수 있습니까?
-
해결됨최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
Multi-Head Attention 모델 구조에서 궁금한게 있습니다.
안녕하세요. 코드 공부하면서 궁금한 점이 생겨 질문남깁니다.앞선 이론 강의에서 이해한 바로는 MSA과정에서 Attention*value를 통해 [배치수, 헤드수, 패치수+1, Dh] 차원의 결과들이 나오고 Linear Projection을 통해 [배치수, 패치수+1, D] 차원의 결과가 얻어지는 것으로 이해했습니다.attention = torch.softmax(q @ k / self.scale, dim=-1) x = self.dropout(attention) @ v x = x.permute(0,2,1,3).reshape(batch_size, -1, self.latent_vec_dim)위와 같이 제공해주신 코드에는 이를 위한 Linear 과정이 따로 없는 것 같고 Attention*value 결과에 permute와 reshape를 해주었는데, 해당 과정이 이론에서 설명해주신 Linear 과정과 동일한 효과를 지니는 것일까요??
-
미해결실습으로 배우는 선착순 이벤트 시스템
이벤트 처리를 위한 여러가지 방식
안녕하세요 강사님! 강의 너무 잘 들었습니다. 강의를 다 듣고 몇가지 질문이 있어 이렇게 질문 드립니다.카프카에 대해서 명확히 이해하지 못해서 그러는데 Consumer에서도 결국 토픽에서 가져와서 MySQL DB에 저장을 하는 방식인데, MySQL의 처리속도가 1분에 100개라고 한다면 100분이 걸리는 것은 동일한거 아닌가? 하는 궁금증이 들었습니다! 카프카를 사용하는 이유는 단순히 수많은 요청이 왔을 때 처리량을 조절해 DB가 다운되지 않도록 함인가요?유명 연예인의 티켓팅 서비스 같은 경우처럼 좌석번호마다 다른 티켓으로 보는 경우는 어떤 방식을 사용하는게 맞는것인지 문득 궁금해졌습니다! 이전 동시성 강의처럼 Lock을 거는 방식을 사용하는 방식이 옳을지 아니면 이번 강의에서 Redis의 Set을 사용하여 좌석번호마다 좌석이 찼는지를 구별하는것이 옳을지, 아니면 또 다른 방법을 사용하는지 궁금합니다!마지막에서 쿠폰을 발급하다가 에러가 발생하면 여러가지 방식이 있다고 하셨는데 또 어떤 방식이 있는지, 또한 그 방식이 현재 강사님께서 설명해주신 FailedEvent와 무슨 장단점 차이가 있는지가 궁금합니다!
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
강의노트는 어디서 확인할 수 있을까요
첫번째 강의라고 하셨는데 안보이네요...
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션 19 영상통화 NOW 4.x.x에서 오류 문의
영상통화 강의 따라하다가 다음과 같은 에러가 발생하였는데 어떻게 수정해야 하는지 모르겠어 문의드립니다.Running Gradle task 'assembleDebug'...lib/screen/cam_screen.dart:57:50: Error: Too many positional arguments: 0 allowed, but 1 found.Try removing the extra positional arguments. RtcEngineContext context = RtcEngineContext(APP_ID);
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
어렵습니다...
전체적으로 어렵고 잘 이해가 되지 않습니다.. 지금 9장 거의 끝나가는데 계속 가는게 맞을까요..? 아니면 복습을 다시 하는게 맞는건가요.. 혼자하려니 많이 어렵네요 조언 부탁드립니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
새로운 마이크로서비스가 추가된 경우 클라이언트 배포 여부
1분경, 새로운 마이크로서비스가 배포된 경우에도 API 게이트웨이를 두면 클라이언트는 API게이트웨이만 상대하면 된다고 하셨는데,새로운 마이크로서비스가 생기면 클라이언트는 배포를 하지 않아도 된다는 뜻으로 이해를 했는데,새로운 마이크로서비스와 연결하기 위해서는 클라이언트에도 연결을 위한 코드가 추가될텐데 클라이언트도 배포를 해야 하는 것은 아닌지 문의 드립니다 !감사합니다.