묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이널 코딩테스트 : 프론트엔드
뮤직플레이>인트로 컴포넌트 작성강의에 관련해서 궁금한게있어서 문의드립니다!
인트로 클래스에서 createRenderElement()를 정적메소드를 선언한 이유가Intro컴포넌트에서만 돔을 그리게끔 하고싶어서 그런걸까요?Intro를 인스턴스화했을때 element를 생성하지 못하도록 한걸까요?왜 Intro 인스턴스에서는 createRenderElement를 하면 안되는건지가 궁금해서요ㅠㅠ제가 정적메소드에대해서 잘모르고 질문하는거일수도있습니다ㅠ 답변부탁드리겠습니다! :)
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
테스트 케이스가 실패합니다
import java.util.Scanner; public class Main { int[] dx = {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int[][] arr = new int[num][num]; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { arr[i][j] = sc.nextInt(); } } Main T = new Main(); System.out.print(T.solution(num, arr)); } public int solution(int num, int[][] arr) { int answer = 0; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { boolean flag = true; for (int k = 0; k < 4; k++) { int nx = i + dx[k]; int ny = j + dy[k]; if (nx >= 0 && nx < num && ny >= 0 && ny < num && arr[nx][ny] > arr[i][j]) { flag = false; break; } } if (flag) { answer++; } } } return answer; } }정답을 요청한 코드입니다. 처음테스트와 두번째 테스트 케이스는 통과하나 그 이후 테스트 케이스는 실패한다고 나오네요.. 코드는 강사님이 작성해주신 코드와 동일하게 작성했는데.. 원인을 모르겠어서 질문 남깁니다
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
Unit
고차함수 강의에서 Unit이 짧게 나왔는데Unit은 아무것도 리턴하지 않는다 라는 의미라고 설명해주셨는데 무슨 뜻인지 와닿지가 않습니다ㅠㅠ개발자 스타일에 따라서 Unit을 사용할 수도 있으니까 당황하지 말라고 알려주신다고 하셨는데 간단한 예시인fun test1() : Unit { println("abc")}에서는 fun test1() { println("abc")}처럼 Unit을 생략해도 오류가 나지 않는데 fun highPrintTest(operation : (String) -> Unit) { operation("bbb")여기서는 fun highPrintTest(operation : (String)) { operation("bbb")이렇게 Unit을 생략하면 오류가 나는 것 같은데 여기선 Unit이 꼭 필요한 생략할 수가 없는 상황인가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다 !
function solution(need, plan) { let answer = 'YES'; let queue = []; for (let x of plan) { if (need.includes(x)) queue.push(x); } if (need !== queue.join('')) return 'NO'; return answer; } let a = 'CBA'; let b = 'CBDAGE'; console.log(solution(a, b)); 큐로 접근해서 문제풀이하고 싶었으나 비효율적(?)으로 풀어버렸습니다 😂 혹시 이렇게 풀이해도 괜찮은걸까요 ? 리뷰 부탁드립니다 !
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
(x,y)가 아니라 (y,x)라고 하시는 이유가 궁금해요!
이미 동일한 질문에 대해서 검색을 해보고 답변을 봤음에도 이해가 되지 않아 질문드립니다!큰돌님께서는 (y,x)를 사용하신다고 하셨는데 저희가 원래 지금까지 수학 교과과정을 배울 때는 대부분 (x,y)라고 해서이게 더 익숙할 것 같은데 (y,x)가 익숙하신 이유가 궁금합니다..! 크게 중요하지 않다는 것은 아는데 알파벳상으로도 x가 먼저 오기도 하고 해서 y,x라고 써야 하는 이유가 있는 건지 아니면 큰돌님께서 어느순간부터 그렇게 작성하는 것이 익숙해지셔서 그런건지 알고 싶습니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1주차 개념# 5-1.문제로 엽습하는 시간복잡도 Q3에서
2분 41초에go(3,3) go(4,4)가 어떻게 나오는지 알수있을까요??go(3,4)에서 min = (3+4)/2 = 3.5이렇게 3.5가 나오는데 ... mid가 int값이면 반올림해야되는건가요? 아니면 소수 점은 버리는건가요?? 이해가 잘 안갑니다 ㅠㅠ
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
병합정렬 시간복잡도 질문
왜 nLogN 인지 이해가 안되는데 조금만 더 쉽게 설명 좀 부탁드립니다.그리고 중간 설명에서 log2의 n은 무엇을 말하는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
두수의 합 질문입니다.
안녕하세요 강사님.a[l] + a[r] == x 인 경우에r-- 가 아니라 i++ 로 해도 상관없나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
sum == total // 2 질문 , 파이썬의 형변환 , 타입 질문
저의 풀이입니다 . 강의에서sum == total // 2이 코드에서 예외가 발생할 수 있다고 하셨는데 몫을 구하지말고바로 나누기로 해서 풀면 되지않을까요? 그리고 궁금한점이파이썬에서는 타입이 달라도 ( 16 정수타입 과 16.0 실수타입 )같다고 인식되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 문제 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 올려주신 해설과 다른 점을 딱히 못찾겠는데 제 코드는 10% 전에 틀렸습니다가 나오게 됩니다.반례를 알려주세요 ㅠㅠ#include <bits/stdc++.h> using namespace std; vector<string> split(string input, string delimiter) { vector<string> ret; long long pos = 0; string token = ""; while (pos = input.find(delimiter) != string::npos) { token = input.substr(0, pos); ret.push_back(token); input.erase(0, pos + delimiter.length()); } ret.push_back(input); return ret; } int main() { int cnt = 0; cin >> cnt; string pattern_str; cin >> pattern_str; vector<string> pattern = split(pattern_str, "*"); string s; for (int i = 0; i < cnt; i++) { cin >> s; if(pattern[0].size() + pattern[1].size() > s.size()) cout << "NE" << "\n"; else { bool check = (pattern[0] == s.substr(0, pattern[0].size())) && (pattern[1] == s.substr(s.size() - pattern[1].size())); if (check) { cout << "DA" << "\n"; } else { cout << "NE" << "\n"; } } } return 0; }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 끝까지 안읽고 K번째 큰수.. 말장난에 당해버렸습니다..
K번째 큰 수가 그거였군요..처음에 키워드가 딱 조합,순열 문제길래초반인데 뭐지 했습니다.근데 입력제한이 N이 100이하더군요그래서 바로 삼중포문 돌려서 풀었는데 ,case#1만 success 뜨고 나머진 다 wrong answer 떠서뭘 잘못했나? 하고, 결국 조합까지 구현해서 풀었는데도 오류 뜨길래 1시간넘게 고민하다가 문제 다시 보고 해결했습니다...문제 마지막줄 22 안읽고 그냥 풀다가..., 추가로이제껏 문제들 다 자바스크립트로 푸는게 익숙해서 파이썬으로 알고리즘 문제 푸는게 안 익숙하네요..특히 자바스크립트에서 항상 쓰던, 전개연산자랑 특히, 고차함수랑 구조분해..(map,filter,sort,reduce,forEach, flatmap 같은 것들 많이 썻는데)파이썬에서의 위와 같은 기능으로서 존재하는것들을 사용해서, 구현하고자 싶어하는걸 구현하는게 진짜 적응이 안됩니다 그런데 파이썬도 자바스크립트처럼, 혹시 순열,조합, 트라이 구조나 힙 등.. 구현하기 귀찮은것들.. 구조 이용해서 풀려면 다 구현해놓고 써야하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 효율적인 해킹 문제 (중간에 값이 변합니다 ㅠㅠ)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 2-S 효율적인 해킹 문제를 풀던 중 도저히 알수없는 문제를 만나 질문글을 올립니다.다름아니라 최대값과 해킹할 수 있는 컴퓨터의 값이 중간에 변하는 문제를 만났습니다.보시는 바와 같이 DFS 결과값을 넣어주는 반복문 안에서 출력을 하면 출력값이 제대로 나오는데보시는 바와 같이 DFS 결과값을 넣어주는 반복문 밖에서 출력을 하면 DFS 결과값들을 넣어준 배열값들이 변하면서 원하는 출력값이 나오지 않습니다.. 어딜 실수한건지, 어딜 잘못적은건지 도저히 모르겠습니다....ㅠㅠ 도와주세요...ㅠㅠㅠㅠ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
윈도우11은 작동오류나는거 해결했습니다
기존에 쓰던거 지우고, 파이썬 3.11 Latest 받고돌렸을때 계속 그대로여서,컴터 한대 때리니, 블루스크린 떳습니다. 그리고 다시 컴터 키고 비주얼 코드 키고 다시 실행하고 복사해서 옮긴뒤 채점기 실행하니 Success 잘 뜨네요.. 휴,..흠
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 도대체 뭐가 틀린건지 모르겠어요
http://boj.kr/d2eacfaff77446728671edea35b1d7e9코드 작성한 후 강사님 코드를 보면서 수정하였는데 도대체 뭐가 틀린 건지 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
그래프 문제 해결 방식 관련
안녕하세요, 강사님좋은 강의 덕분에 코테 준비를 잘 해가고 있습니다. 다름이 아니라, 그래프 유형 문제를 풀 때, 즉 bfs나 dfs 관련 문제를 백준 사이트에서 찾아 풀 때, void bfs(int y, int x).... 이렇게 풀고 있는데, 오래 걸려도 풀지 못 할 때, 다른 사람의 답안을 볼 떄는 void bfs(int x, int y)로 잡아서 풀더라구요. 다른 사람의 답안을 강사님이 풀어주시는 방식으로 바꿔 풀 때는, 그냥 x->y, y->x로만 바꿔서 풀면 될지, 매개변수 들을 다 바꿔야 될지 굉장히 헷갈려서 질문 드립니다 ㅠㅠ
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
조합을 구할때 algorithm 함수 next_permutation 사용 가능 여부
제목 그대로 조합을 구할때 next_permutation 을 사용 해도 되는지 궁금합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문법질문입니다.
import java.nio.channels.Pipe; import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; class Point implements Comparable<Point>{ public int x, y; Point(int x, int y){ this.x = x; this.y = y; } @Override public int compareTo(Point o){ if(this.x == o.x) return this.y-o.y; else return this.x-o.x; } } class Main{ public static void main(String[] args){ Scanner kb = new Scanner(System.in); int n = kb.nextInt(); ArrayList<Point> arr = new ArrayList<>(); for(int i = 0; i < n; i++){ int x= kb.nextInt(); int y= kb.nextInt(); System.out.println(x+","+y); arr.add(new Point(x, y)); } Collections.sort(arr); System.out.println(">>"); for (Point o: arr) System.out.println(o.x+" "+o.y); } } arr.add(new Point(x, y));이 부분을 출력해서 값을 프린트하고 싶은데 어떻게 코드를 짜야하나요??public static void main(String[] args){ Scanner kb = new Scanner(System.in); int n = kb.nextInt(); ArrayList<Point> arr = new ArrayList<>(); for(int i = 0; i < n; i++){ int res; int x= kb.nextInt(); int y= kb.nextInt(); System.out.println(x+","+y); arr.add(new Point(x, y)); res = arr.add(new Point(x, y)); System.out.println(res); }이렇게 res 변수를 만들어서 작석했는데 에러가 나네요 ㅠ 도와주세요ㅠㅠㅠ
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
최악의 경우 연산 질문이 있습니다.
강의를 수강하고 있는 학생입니다. 다만 최악의 경우를 따지는 데에서 조합의 수 x n(학생의수) 의 최악의 경우15C7 x 30000인데 이경우 6435x30000=193,050,000가 도출됩니다.이러면 계산이 2억번 가까이 되어서 1000ms에 풀수 있는지 여쭤 볼 수 있을 까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
바둑이 승차관련 sum>c return으로 조건을 돌면 최대값을 찾기 전에 프로그램이 종료되는건 아닌가요??
<script> function solution(c, arr){ let answer=Number.MIN_SAFE_INTEGER; let n=arr.length; function DFS(L, sum){ if(sum>c) return; if(L===n){ answer=Math.max(answer, sum); } else{ DFS(L+1, sum+arr[L]); DFS(L+1, sum); } } DFS(0, 0); return answer; } let arr=[81, 58, 42, 33, 61]; console.log(solution(259, arr)); </script> 아직 재귀에 대한 이해가 짧아 잘 모르겠습니다.답은 242인데,만약 sum의 값이 181이었고 다음에 나온 sum의 값이275라고 한다면sum>259일때 return으로 함수가 종료되고최대값인 242를 찾지 못하고 181로 종료가 될수도 있는것 아닌가요??아니면 제가 이해를 잘못한건지요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
15. 토마토(BFS : Breadth First Search) 질문
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다.라고 해서 m, n 을 입력 받았는데 왜 틀린지 모르겠습니다.강사님 풀이에서 n, m이라고 받으신 이유도 모르겠습니다....아래 코드에서 제대로 array 받아오는 것 같은데 이유를 틀리는 이유를 모르겠습니다...!강사님이 제공해주신 테스트 케이스는 다 통과하지만 백준에서는 틀리는 이유를 모르겠습니다... 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 # 받아온 array [0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 1] 8import sys sys.setrecursionlimit(10 ** 6) # sys.stdin=open("in5.txt", "r") def valid_coord(x, y): if 0 <= x < m and 0 <= y < n: return True else: return False def print_array(array): for elem in array: print(elem) def bfs(): while queue: # tmp_len = len(queue) # for _ in range(tmp_len): temp = queue.popleft() temp_dis = dis[temp[0]][temp[1]] for dx, dy in zip(dxs, dys): nx = temp[0] + dx ny = temp[1] + dy # 익지 않은 상태이거나 유효한 좌표일 때 if valid_coord(nx, ny) and arr[nx][ny] == 0: queue.append((nx, ny)) arr[nx][ny] = 1 dis[nx][ny] = temp_dis + 1 if __name__ == '__main__': from collections import deque n, m = map(int, input().split()) arr = [] for _ in range(m): arr.append(list(map(int, input().split()))) dis = [] for _ in range(m): dis.append([0] * n) dxs = (-1, 1, 0, 0) dys = (0, 0, -1, 1) # print_array(arr) # print('----') # print_array(dis) queue = deque() for i in range(m): for j in range(n): if arr[i][j] == 1: queue.append((i, j)) bfs() # print_array(dis) # arr에서 0을 발견하면 flag = False로 설정 flag = True for i in range(m): for j in range(n): if arr[i][j] == 0: flag = False result = 0 if not flag: print(-1) else: result = max(max(dis)) print(result)