묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
2-6)런타임에러 질문입니다.
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { public String solution(String[] arr) { String answer= ""; ArrayList<Integer> newlist = new ArrayList<>(); for(int i=0; i<arr.length; i++) { StringBuffer sb = new StringBuffer(arr[i]); newlist.add(Integer.parseInt(sb.reverse().toString())); } for(int i=0; i<newlist.size(); i++) { if((int)newlist.get(i)==1) { newlist.remove(i); } } for(int i=0; i<newlist.size(); i++) { for(int j=2; j<newlist.get(i); j++) { if(newlist.get(i)%j==0) { newlist.remove(i); } } } for(int i=0; i<newlist.size(); i++) { answer += newlist.get(i)+ " "; } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb=new Scanner(System.in); int N = kb.nextInt(); String[] arr = new String[N]; for(int i=0; i<N; i++) { arr[i] = kb.next(); } System.out.println(T.solution(arr)); return ; } } 맨 처음에 string[]배열로 입력값을 받은후stringbuffer을 이용해서 뒤집고, Integer.parseInt하면 0이 제거 되는 숫자화가 됩니다.그 이후에 arraylist에 순서대로 담아서, 소수가 아니면 제거하는 방식으로 풀었는데런타임에러가 나는 이유를 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 테스트 케이스 질문있습니다
안녕하십니까 큰돌님강의 보기 전에 코드 작성했는데 저는 지울 노드가 주워졌을 때 진짜 없애는 코드를 작성했었는데 틀렸더라구요. 어디가 틀렸을까요 ??http://boj.kr/7a0241561d4f4fcc9c6a10d8f190da42 +커뮤니티에서 반례를 찾았습니다21 -11답 : 0 / 제 코드 : 1추가로 궁금한게 저 반례의 경우 그림이 어떻게 되는 건지 모르겠습니다 + 그리고 다른 질문 중에서 ""트리가(루트노드가) 단 하나만 존재해야 하는데 문제에서는 트리가 반드시 하나만 존재한다는 설명이 안보인다3-1 -1 -11답 : 2"" 라는 질문이 있는데 만약에 저렇게 주어졌을 때 저는 답이 3이라고 생각하는데 2인 건가요 ?? 저 상황에서의 그림 또한 궁금합니다
-
미해결코딩테스트 [ ALL IN ONE ]
디스코드 초대장이 만료되었다고 합니다.
디스코드 방이 안들어가집니다.링크를 타고 들어가면 초대장이 만료되었다고 나와요
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
32 선택정렬관련 질문
#include <iostream>using namespace std;int main(){ freopen("input.txt","rt",stdin); int a[100],n,i,j,tmp=0; cin>>n; for(i=0;i<n;i++){ cin>>a[i]; } for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++){ if(a[i]<a[j]){ tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } for(i=0;i<n;i++){ cout<<a[i]; } return 0;}선생님, 선택정렬 짤 떄 혹시 이렇게 해도 상관없는건가요...?
-
미해결자바 코딩테스트 - it 대기업 유제
알파코드 질문드립니다.
이렇게 작성하니까 오류가 나는데 뭐가 잘못된건지 모르겠습니다.import java.util.*; import javax.security.auth.Subject; import java.awt.List; import java.io.*; class Main { public static int[]dy; public int solution(String s){ int answer = 0; dy = new int[101]; answer = dfs(0,s); return answer; } public static int dfs(int s, String str) { if(dy[s]>0) return dy[s]; if(str.charAt(s)=='0' && s<str.length()) return 0; if(s==str.length() || s==str.length()-1) return 1; else { int res = dfs(s+1, str); int num = Integer.parseInt(str.substring(s,s+2)); if(num<=26) res+=dfs(s+2, str); return dy[s] = res; } } public static void main(String[] args){ Main T = new Main(); System.out.println(T.solution("25114")); System.out.println(T.solution("23251232")); System.out.println(T.solution("21020132")); System.out.println(T.solution("21350")); System.out.println(T.solution("120225")); System.out.println(T.solution("232012521")); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 문제 질문
안녕하세요 선생님좋은강의 감사합니다. 강의를 보고 코드를 작성하던중에 질문이 생겼습니다.강의속 코드에서 turn = 1로 초기화 하고 b 에다가 turn을 더하는 방식으로 코드를 작성하셨는데 turn = 0 으로 초기화 하고, 이에 맞게 코드를 재작성하니 원하는 답이 나오지 않아서 질문 드립니다.우선 테스트케이트 17, 5 를 입력했을때 4가 아니라 6이 나와서 애초에 틀렸기 때문에 코드를 백준에 제출하지 않았습니다. 따라서 링크가 아닌 질문에 제가 작성한 코드를 첨부하겠습니다.#include <bits/stdc++.h> using namespace std; int N, K, visited[2][500005]; bool flag; int bfs(int N, int K) { int turn = 1; queue<int> q; q.push(N); visited[0][N] = 1; while (q.size()) { K += turn; if (K >= 500001) return -1; if (visited[turn % 2][K]) { flag = 1; return turn; } int qsize = q.size(); for (int i = 0; i < qsize; i++) { int here = q.front(); q.pop(); if (here == K) { flag = 1; return turn; } for (int there : {here + 1, here - 1, here * 2}) { if (there < 0 || there >= 500001) continue; if (visited[turn % 2][there]) continue; visited[turn % 2][there] = visited[(turn + 1) % 2][here] + 1; q.push(there); } } turn++; } return -1; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> K; int res = bfs(N, K); if (flag) cout << res << '\n'; else cout << - 1 << '\n'; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-b
http://boj.kr/d58a57ff06f142f78078414e20b7da0a이것저것 바꿔보는중인데답은 맞게나오는데 통과가안되네요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Object 클래스의 clone() 메서드 질문
Object 클래스의 clone() 메서드는 깊은 복사가 아니라 얕은 복사로 알고 있습니다.강의에서의 선생님의 말씀대로 clone() 메서드는 깊은 복사가 맞나요?
-
미해결자바 코딩테스트 - it 대기업 유제
IP주소 질문드립니다.
코드에서if(Integer.parseInt(num) > 255) return;이 부분이 일종의 메모이제이션 역할을 하니까 알파코드 문제처럼 따로 배열을 잡아서 방문처리를 안하는건가요???
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
[질문] 유기농 배추 map 정보 반영 건
안녕하세요, 강의 잘 듣고 있습니다. map 정보 반영에서 map[y+1][x+1] = true; 라고 하셨는데, map[x+1][y+1]도 true값을 넣어야 하지 않을까요?빠른 답변 부탁합니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 질문
http://boj.kr/b99b5a5fdbd244e797ca23eca42b1662*설명은 주석해놓았습니다. 강의를 듣기 전에 먼저 짜본 코드인데 모든 입력 값에 대해서 is not acceptable만 출력되는 오류가 발생하는 코드입니다. 큰돌님 코드랑 비교했을 때 전체적인 로직은 다를 바가 없다고 보이는데, 어디가 잘못된건지 짚어주시면 감사하겠습니다.ㅠ
-
미해결자바 코딩테스트 - it 대기업 유제
알파코드 질문드립니다.
import java.util.*; import javax.security.auth.Subject; import java.awt.List; import java.io.*; class Main { public static int[] dy; public int solution(String s){ int answer = 0; dy = new int[101]; answer = dfs(0,s); return answer; } public static int dfs(int s, String str) { if(dy[s]>0) return dy[s]; //메모이제이션 //if(s<str.length() && str.charAt(s)=='0') return 0; if(s==str.length() || s==str.length()-1) return 1; if(s<str.length() && str.charAt(s)=='0') return 0; else { int res = dfs(s+1, str); int num = Integer.parseInt(str.substring(s, s+2)); if(num<=26) res+=dfs(s+2, str); return dy[s] = res; } } public static void main(String[] args){ Main T = new Main(); System.out.println(T.solution("25114")); System.out.println(T.solution("23251232")); System.out.println(T.solution("21020132")); System.out.println(T.solution("21350")); System.out.println(T.solution("120225")); System.out.println(T.solution("232012521")); } } if(s<str.length() && str.charAt(s)=='0') return 0; 이 구문을 if(s==str.length() || s==str.length()-1) return 1;위 아래에 배치하는 순서에 따라 답이 다르던데왜 그런거죠???
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Scanner next() 메소드 관련 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1)int n = kb.nextInt();String str = kb.nextLine();==============================2)int n = kb.nextInt();String str = kb.next(); 1)과 2) 차이점이 궁금합니다.예를들어 5 \r\n 3 을 입력하는 경우,1)의 경우에는 콘솔창에엔터를 치면 입력이 안되고, 2)의 경우에는 엔터를 쳐서 따로 입력이 가능한데 왜 그런지 궁금합니다ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
좌표평면질문
성역에서 시간을 보내다보니 2주째 손을 놓아버렸네요 다시빡공갑니다좌표탐색할때 좌표평면이 저희가 평소알던게아니라 y가 뒤집어져있어서 헷갈리는데 const int dy[] = {-1,0,-,0};const int dx[] = {0,1,0,-1};가 아니라const int dy[] = {1,0,-1,0};const int dx[] = {0,1,0,-1};으로해도 답은 맞게나오던데 상관없나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
크레인 인형뽑기(카카오)에 대한 제 풀이 코드에 어떤 문제가 있는지 질문드립니다
다음과 같이 코드를 작성했는데, 테스트케이스 4, 5번이 틀린 것으로 나오네요. 제 코드에 어떤 문제가 있는지 이해가 되지 않아서 질문 드립니다. import java.util.*; import java.io.*; public class Main { public int solution(int[][] board, int[] moves) { int answer = 0; List<Integer> dollList = new ArrayList<>(); Stack<Integer> stack = new Stack<>(); for (int i = 0; i < moves.length; i++) { stack = new Stack<>(); for (int j = 0; j < board.length; j++) { if (board[j][moves[i] - 1] != 0) { stack.push(board[j][moves[i] - 1]); board[j][moves[i] - 1] = 0; break; } } if (stack.isEmpty()) { continue; } dollList.add(stack.pop()); // 바구니에 인형을 넣음 if (dollList.size() >= 2) { for (int j = 0; j < dollList.size() - 1; j++) { if (dollList.get(j) == dollList.get(j + 1)) { dollList.remove(dollList.get(j)); dollList.remove(dollList.get(j)); answer += 2; } } } } 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()); int[][] board = new int[n][n]; for (int i = 0; i < n; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); for (int j = 0; j < n; j++) { board[i][j] = Integer.parseInt(st.nextToken()); } } int m = Integer.parseInt(br.readLine()); int[] moves = new int[m]; StringTokenizer st = new StringTokenizer(br.readLine()); for (int i = 0; i < m; i++) { moves[i] = Integer.parseInt(st.nextToken()); } System.out.println(main.solution(board, moves)); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 코드 질문있습니다
안녕하십니까 큰돌님강의 보기 전에 문제를 풀어봤는데 조건문들이 좀 비효율적일까요 ??http://boj.kr/523daf3c22924bf99a5f46b5a6a8fd96
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
정수론 24분대 강의내용
24분14초 2의 제곱수로 나뉘어지는 약수를 찾아 더할때 왜 모든숫자들을 +1한상태로 봐야만 하는지 이유를 모르겠습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2979 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2979번 문제 정답 교안으로 공유해주신 코드의,맨 아래 for문에서for(int j = 1; j < 100; j++)코드 부분이 잘 이해가 가지 않습니다!시간이 1 ~ 100 사이 값이 들어온다고 하는데위의 반복문에서는 1 ~ 99번째 까지만 순회하며 주차요금을 정산하지 않나요?부등호가 <= 가 아니라 < 기호가 들어가는지 이유가 궁금합니다ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-f return 질문드립니다.
안녕하세요. 완탐 하는재귀에서return부분을 함수가 아닌 이번 문제와같이 ret으로 리턴하는 경우의 사고 과정이 궁금합니다. 정리하면 완탐 재귀시 return 부분에 대한 사고를 어떻게 해야할까..가 고민입니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제다운방법
안녕하세요, 강사님! 이제 막 수업 듣기 시작한 학생입니다.다름이 아니라 문제자료를 어디서 다운받을 수 있을까요?