묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
변수 선언에 대한 결과 차이
#include <bits/stdc++.h>using namespace std;string s;int cnt[26];int main(){ cin >> s; for(char a : s){ cnt[a-'a']++; } for(int i = 0; i <= 26; i++){ cout << cnt[i] << " "; } return 0;} 이렇게 실행할 경우 baekjoon을 복붙하면 정상적인 결과가 나옵니다. 나중에 복습할 때 안 보고 풀어봤습니다만...변수 선언을 다음과 같이 하니까 결과 값이 달라집니다.int cnt[26];string s;사실상 순서만 바뀌었는데 왜 이렇게 결과가 바뀌는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
[최대 길이 연속부분수열] 틀린 이유
import java.util.*; class Main { public int solution(int n, int m, int[] arr) { int lt = 0, sum = 0, max = 0, count = 0; for(int rt = 0; rt < n; rt++) { if(arr[rt] == 1) { sum += arr[rt]; } else if (arr[rt] == 0) { if(count++ < m) { sum += 1; } else { if (sum >= max) { max = sum; sum = 0; lt ++; rt = lt; count = 0; } } } } return max; } public static void main(String[] args) { Main T = new Main(); Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); int[] arr = new int[n]; for(int i = 0; i < n; i++) { arr[i] = in.nextInt(); } System.out.print(T.solution(n, m, arr)); } }논리적으로 틀린건 없는거 같고, 예시코드도 틀린게 없는데 왜 오답이 나오는지 모르겠습니다 !!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
테스트 케이스 하나가 오답인데 어떤 부분이 문제인지 모르겠습니다ㅠ
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; class Main { public static void main(String[] args) throws IOException { Main T = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); System.out.println(T.solution(str1, str2)); } public static String solution(String str1, String str2) { HashMap<Character, Integer> map1 = new HashMap<>(); HashMap<Character, Integer> map2 = new HashMap<>(); for (char x : str1.toCharArray()) { map1.put(x, map1.getOrDefault(x, 0) + 1); } for (char x : str2.toCharArray()) { map2.put(x, map2.getOrDefault(x, 0) + 1); } String answer = ""; for (char x : map1.keySet()) { if (map1.containsKey(x) == map2.containsKey(x)) { if (map1.get(x) == map2.get(x)) answer = "YES"; else answer = "NO"; } } return answer; } }테스트케이스 하나를 통과하지 못하는데 제가 생각하지 못한 부분이 있는지 궁금합니다!코드가 효율적이지 않을 수는 있으나 저렇게 해도 풀리지 않을까? 해서 작성해봤는데.. 뭐가 문제일까요테스트 케이스ABCDqtqtqEFqGHIJKLMNOPQRSTUVWetagdgXYabcdefghijklmnopqrstuwxyzaBcdewrqwtqFghIJklMnOpqrsTuegagaeVxyYAbCDEfGHijKLmNoPQRStUwWXz
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 시간초과 질문드립니다.
http://boj.kr/e1c3caaa80904ade933b274903722b31 시간초과 해결을 못하겠어서 어디 부분이 틀린건지 잘 모르겠습니다 ㅠㅠ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
혹시 예외가 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. function solution(board, moves) { let answer = 0; //count let stack = []; //바구니 //크레인 for문 돌리기 for (const x of moves) { //크레인 위치, index에 맞게 설정 let idx = x - 1; //borad 체크 for (let i = 0; i < board.length; i++) { //인형 const v = board[i][idx]; //0 & null이면 그냥 넘기기 > 다음값을 넣어야 함 //null = 이미 바구니에 들어간 값 if (v !== 0 && v !== null) { //이미 바구니에 있는 경우 if (v === stack.at(-1)) { let pop = stack.pop(); answer += 2; } else stack.push(v); board[i].splice(idx, 1, null); break } } } return answer; } let a = [[0, 0, 0, 0, 0], [0, 0, 1, 0, 3], [0, 2, 5, 0, 1], [4, 2, 4, 4, 2], [3, 5, 1, 3, 1]]; let b = [1, 5, 3, 5, 1, 2, 1, 4]; console.log(solution(a, b));
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-L 질문합니다
안녕하세요, 선생님 강의 잘 듣고 있습니다!6-L 을 풀던 도중, 제 풀이 방법이 틀렸다고 나와 반례가 궁금합니다.시간 복잡도는 O(n* n/2) 이라 통과 한다고 생각합니다.A[i]에 10을 곱한것은 혹시 모를 부동 소수점 오류가 날지 몰라 처리 해두었습니다.https://www.acmicpc.net/source/70768639
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
강의에서 주신 코드가 입력값이 최악인 경우(ex)10 10) 시간초과 fail받을 코드 아닌가요??
선생님이 주신 테스트 케이스는 통과하지만 문제에 주어진 조건'첫 번째 줄에 자연수 N(3<=N<=10)과 M(2<=M<=N) 이 주어집니다.'에 최악의 케이스에서는 시간 초과로 통과하지 못한다고 생각합니다. 10,10 을 넣으면 3초를 아득히 넘어버리니까요.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
3중 for문으로 변경해서 정답
import java.util.Scanner; public class 멘토링 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int m = scan.nextInt(); int[][] intArrArr = new int[n][m]; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ int temp = scan.nextInt(); intArrArr[temp-1][i] = j; } } System.out.println(solution(n,m,intArrArr)); } private static int solution(int n, int m, int[][] intArrArr) { int answer = 0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ boolean flag = true; for(int k=0;k<m;k++){ if(intArrArr[i][k] >= intArrArr[j][k]){ flag = false; break; } } if(flag){ answer++; } } } return answer; } } input을 받을 때 학생이 행에 오도록 변경을 해서 등 수를 열로 변경해서 받으면 3중 for문으로도 가능합니다. 참고가 될까 싶어 올려봅니다 화이팅!!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
splice로 써도 될까요?..?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. <script> function solution(arr){ let answer = arr; let [max, idx] = [-1, -1]; for (let i = 0; i < arr.length; i++){ max = Math.max(...arr) idx = arr.indexOf(max) arr.splice(idx, 1) // 배열 내 값 제거 arr.splice(idx, 0, i+1) // 제거한 자리에 max 순서 넣기 } return answer; } let arr=[87, 89, 92, 100, 76]; // 4 3 2 1 5 console.log(solution(arr)); </script> 섹션2의 5번 등수구하기문제입니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1620문제 번호가 바뀐 김에
안녕하세요 큰돌님, 현 1620 단어퍼즐https://www.acmicpc.net/problem/1165위 문제를 연습 삼아서 그냥 풀어 보려하는데혹시 실제 코테에 파일스트림 읽어서 문제 풀이를 진행해야 하는 케이스가 꽤 있는 편인가요?
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
완강 후 후속 강의, 공부법 질문..
파이썬 알고리즘 문제풀이 입문(코딩테스트 대비) 을 수강하는걸 추천하시나요,아니면 본 강의 하나만 복습하면서 BOJ문제를 풀어보는걸 추천하시나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-M 질문있어서 문의드렸습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님 강의 잘 보고있습니다!2-M문제를 풀때 to_string의 시간복잡도가 O(log n) , find가 O(N)이라서 시간복잡도에 문제가 있을줄 알았는데 해결이 되었습니다. 혹시 이 문제의 시간복잡도는 어떻게 될까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 처음 겪는 맞왜틀
안녕하세요 큰돌님.원래 각 영상별로 영상 시작시 영상 잠깐 멈추고스스로 문제를 풀어보고 도저히 안되면 영상 보는데요.영상 끝까지 보고 edge case가 뭔지 찾아서 풀었네요. 혹시 이런 코테 준비할때 edge case 대응 방법이 있을까요?단순히 경험치가 쌓이면 늘게 되는건가요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파일 입출력에 대해 질문드립니다.
안녕하세요, 파일입력과 함께 파일출력에 대해 궁금한 부분이 있어 질문드려요.input.txt 파일에서 값을 불러와 output.txt파일로 출력값을 프린트하고 싶은데 이런 경우는 코드를 어떻게 작성하면 되는가요? sys를 쓰면 보다 간단하게 출력파일도 만들어낼 수 있을 거 같아서요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-L 안녕 질문이 있습니다.
http://boj.kr/2451435928954fd4ade7f532de725ef2재귀를 돌면서 hp가 0이하가 되면 0을 반환하고 사람의 명수 만큼 재귀를 돌며 hp가 남아있으면 hppy(행복)을 반환해줘서 최대값을 반환하는 dp를 작성했는데 문제에 나와있는 테스트 케이스와 질문게시판에 있는 테케를 전부 돌려봤는데도 무엇이 잘못되었는지 모르겠습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
다음과 같이 풀었는데 괜찮은가요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(arr){ let answer=0 ; let max =0; for(let i=0; i<arr.length; i++){ if(arr[i]>max){ max=arr[i] answer++ } } return answer; } let arr=[130, 135, 148, 140, 145, 150, 150, 153]; console.log(solution(arr)); </script> </body> </html>며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 예시 2 질문
안녕하세요?문제 예시 2의 입력 예제6 0 60 60 90 60 60 60에서 왜 답이 5인지 잘 이해가 안 갑니다!문제에는 대기목록에 자기보다 위험도가 높은 환자가 없으면 자기가 진료를 받는 구조라고 하셨는데,그러면 위의 예시에서 0 번째 환자가 진료를 받을 때는당연히 2번째 아닌가 싶어서요제 코드로는 두 번째, 다섯 번째 케이스에서 오답이 나오는데요문제 설명에서 중복된 값이 있을 때 설명이 좀 이해가 잘 안 와 닿습니다.from collections import deque import sys # sys.stdin = open('input.txt','r') n, m = map(int, input().split()) p = list(map(int, input().split())) queue = deque(p) done = 0 target = queue[m] res = 0 while queue: maxx = max(queue) a = queue.popleft() if a < maxx: queue.append(a) else: done += 1 if a == target: res = done print(res) break
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다음과 같이 작성하였는데 이상이 없을까요?<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(s) { let answer = ""; for (let i = 0; i < s.length - 1; i++) { if (s[i].length > s[i + 1].length) { answer = s[i]; } else { answer = s[i + 1]; } } return answer; } let str = ["teacher", "time", "student", "beautiful", "good"]; console.log(solution(str)); </script> </body> </html>
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 예외처리에 관한 질문
안녕하세요 선생님. 강의 잘 듣고 있습니다.선생님의 풀이를 보니, 처음부터 모든 토마토가 익어있는 경우와 익은 토마토가 하나도 없는 경우는 안넣으신거같은데, 따로 이유가 있을까요? 또한, 아래는 제 풀이코드인데 dis 배열을 만들어서 선생님 풀이처럼 하는 것보다 복잡도가 높을까요? import sys from collections import deque sys.stdin = open('in5.txt','r') def total_search(arr,m,n): li = [0,0,0] # 토마토상태별로 갯수저장하는 갯수 for i in range(n): for j in range(m): # 토마토가 없는 경우 if arr[i][j] == -1: li[0] += 1 # 토마토가 안익은 경우 elif arr[i][j] == 0: li[1] += 1 # 토마토가 익은 경우 else: li[2] += 1 dq.append((i,j,0)) return li if __name__ == "__main__": m, n = map(int,input().split()) # m = 가로, n = 세로 arr = [list(map(int,input().split())) for _ in range(n)] # 맵 정보 dq = deque() # 익은 토마토 인덱스 저장 큐 dy = [-1,0,1,0] dx = [0,1,0,-1] # 토마토 상태를 파악하는 함수 li = total_search(arr,m,n) # 익은 토마토가 하나도 없는 경우 if li[2] == 0: print(-1) sys.exit() # 처음부터 모든 토마토가 익어있을 경우 elif li[2] == m*n : print(0) sys.exit() # 익는 과정 연산 while dq: tmp = dq.popleft() y,x,d = tmp[0],tmp[1],tmp[2] # y,x 인덱스, d는 날짜 # 상하좌우 연산 for i in range(4): ny = y + dy[i] nx = x + dx[i] # 안익은 토마토일 경우 if 0<=ny<=n-1 and 0<=nx<=m-1 and arr[ny][nx] == 0: # 익은 토마토로 바꾸고 # 날짜 하나 올려서 큐에 추가 arr[ny][nx] = 1 dq.append((ny,nx,d+1)) # 토마토 상태 갱신 li = total_search(arr,m,n) # 토마토가 다 익지 못한 경우 if li[1] != 0: print(-1) else: print(d)
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
정답소스 코드에 대한 질문입니다.
안녕하세요 초급 코딩테스트 강좌 너무 잘 보았습니다.반복해서 복습하니 이해가 너무 잘되고 코드가 잘짜지더라구요!! 최고입니다!!혹시 이번 강좌의 정답 코드도 따로 모여있는 파일이나 깃헙 레포지토리가 있을까요 ?!다른 게시판에서 질문을 했었는데 인프런 다른 직원분이 알려주신곳(영상 오른쪽 수업자료,or 강사님의 깃허브 링크) 에는 없는것을 확인하였습니다.혹시 따로 정답 소스 코드가 있는 곳이 있을까요 ?