월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
a.cpp 오류
이런 상태로 터미널에서 g++ -std=c++14 -Wall a.cpp -o test.out 를 하여도 에러가 나며 #include <bits/stdc++.h> 부분에도 에러가 납니다. 도움 부탁드리겠습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
두 코드의 차이가 무엇인지 궁금합니다
https://www.acmicpc.net/source/share/52db515483bf48409679906723d0d91f위 코드는 오답이고https://www.acmicpc.net/source/share/4d3ef9f8e6c74ed2af729ac607ef92dd위 코드는 정답인데두 코드의 로직에 어떤 차이가 있는지 궁금합니다- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
m1 brew 설치
터미널에서 brew install gcc를 해보았는데 명령어가 찾아지지 않아서 문의 드립니다.맥북 에어 m1 입니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G out of range 에러입니다
http://boj.kr/7de1d484d2e34806838cfb3788cd5e81아무리 생각해도 어디서 out of range에러가 나는지 모르겠습니다! 예제는 다 맞는데 23퍼에서 에러가 납니다!
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
visited를 map방식으로 풀어봤습니다. 테스트 케이스는 맞는데, 어떤 반례가 있을까요?
선생님, 안녕하세요.visited를 맵에 넣어서 (y와 x좌표를 스트링으로 바꾼 후 키로 삼고, value는 1이나 true를 줬습니다.) 하는 방식으로 풀어봤습니다. 또, 배추의 좌표들을 받을 때, 이를 벡터에 넣어줘서 벡터를 반복문을 돌며 dfs를 실행하며 visited맵을 체크해줬어요.배열로 받던 visited를 맵으로 바꾸고, 벡터에 배추 좌표를 넣어주는 정도라서 식이 많이 다른것 가지는 않구요,이렇게 하면 2중배열을 돌지 않아도 되서 약간이나마 더 효율적이라는 생각도 드는데요.테스트 케이스는 맞는데, 제출하면 틀렸다고 나옵니다. 어떤 반례가 있을까요?http://boj.kr/5fdb9a3986444cf7b5f0723ce0db6048
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-A 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.큰돌님 안녕하세요! 이번 강의도 잘 듣고 내심 궁금한게 있어서 질문 드렸습니다.http://boj.kr/f9048d0d72c1430292e3469290235959for문으로 모든 시작점을 진행해도 같은 값이 나올 줄 알았는데 그게 아니었습니다. 문제 풀 때는 상관이 없지만 내심 너무 궁금해서 질문드립니다..!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다.
http://boj.kr/4468d92db7694335bf1119b95b6c26fe테스트 케이스는 모두 통과하는데 어떤 점에서 놓친 부분이 있는지 모르겠습니다.
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
비트마스킹 사용에 관한 질문입니다.
4주차 이론을 듣고 4-a 를 풀어봤습니다.http://boj.kr/1505ce542738451d97357d5977350e46문제를 딱 보자마자 그냥 완전탐색으로 풀어야겠다고 생각하고비트마스킹 생각을 하지않고 그냥 문제를 풀게 됐고 그 후강의를 보니 비트마스킹을 사용해서 풀이하신 걸 보고어떻게 이 문제를 보고 비트마스킹을 사용해야겠다고 생각하신건지 비트마스킹의 장점이 무엇인지 궁금해서 질문남깁니다. 1.경우의 수를 탐색하는 문제에서 사용하는 것 같은데 나중에는 무조건 비트마스킹을 사용해야만 하는 문제도 있나요? 아니면 이 문제처럼 그냥 완전탐색으로 풀어도 대부분 풀리는 건지 궁금합니다!2. 비트마스킹의 장점은 속도 인가요? 시간 초과가 타이트할 때 사용하는 건지 아니면 다른 장점이 있는 건지 궁금합니다. 이론강의를 듣고 나서도 잘 이해가 안가서 질문드립니다!
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-N 모듈러 공식 질문있습니다.
http://boj.kr/3508e81686454e2ea04b64d2c4a3ba94풀이법과 조금 다르지만 같은 원리로 풀었습니다 그런데http://boj.kr/9f02c3d4d7b14d9eb585cb7dabfc6d2a이건 두번째로 생각해본 풀이인데 이 코드는 틀렸다고 나옵니다.두 코드의 차이점은 매개변수 y (지수부분)가 홀수일 때 첫번째 코드는 go(y-1) , go(1) 을 해서 한쪽부분을 짝수로 만들어준 것이고두번째 코드는 go(y/2) ,go(y/2) ,go(1) 로 2로 나눠주면서 홀수라서 남는 부분을 곱해주는 방식입니다. 모듈러 공식이 (a * b) % c = ((a%c)*(a%c))%c 라고 하면(a*b*c)%c 도 같이 적용되어야 하는게 아닌가 싶어서 질문드렸습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 이해가 안되는 부분이 있습니다.
안녕하세요. 큰돌님. 이 문제는 제가 직접 풀지 못해서 선생님 답안을 보고 익히고 있는 중 궁금한 게 생겨서 질문 남깁니다.for문을 나오면 있는 끝점을 계산하는 코드입니다.마지막에 이긴 팀을 기준으로 끝점을 계산하는 게 아닌득점을 많이 한 팀 기준으로 끝점을 계산하신 이유가 궁금합니다
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맞왜틀 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/7d1b078d34894888995766119fc55780 아래와 같은 사고 과정을 따라 문제를 풀었습니다. 먼저 동생이 0에서 출발하더라도 1000초면 500,000을 넘어간다는 것을 확인했습니다.또한 500,000 크기를 가지는 int형 배열이 약 2MB 정도의 공간만을 차지하므로동생의 위치에 따른 시간을 먼저 broPos 배열에 저장했습니다.ex. 동생이 5를 0초에 방문, 6을 1초에 방문, 8을 2초에 방문 -> broPos[5] = 0, broPos[6] = 1, broPos[8] = 2 이후 수빈이가 bfs를 통해 탐색하되같은 시간에 동생을 만나는 경우(broPos[next] == visited[next] - 1) 리턴후 시간 출력동생의 지나갈 위치를 짝수초만큼 먼저 지나가는 경우 리턴 후 시간 + 짝수초 출력동생이 500,000을 넘는 시간이 지나면 리턴 후 -1 출력 해당 방법으로 문제를 풀이했는데 어느 부분이 틀린걸까요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[6-J] 질문드립니다.
#include <bits/stdc++.h> using namespace std; #define ll long long ll N, M; vector<ll> attractions; // mid 시간안에 놀이기구를 다 탈 수 있는지 확인하는 함수 bool CanRide(ll mid) { ll cnt = 0; for(int i=0; i<M; i++) { cnt += mid/attractions[i]; } return cnt >= N - M; } // 마지막 아이가 타게되는 놀이기구 index 출력 ll GetIdx(ll mid) { ll cnt = M; for(ll i=0; i<attractions.size(); i++) { cnt += (mid-1) / attractions[i]; } for(ll i=0; i<attractions.size(); i++) { if(mid % attractions[i] == 0) cnt++; if(cnt == N) { return i+1; } } return -1; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> M; for(int i=0; i<M; i++) { ll tmp; cin >> tmp; attractions.push_back(tmp); } ll left = 1, right = 60000000009, mid; if(N < M) { cout << N; return 0; } while(left <= right) { mid = (left + right) / 2; if(CanRide(mid)) { right = mid - 1; } else { left = mid + 1; mid = left; } } cout << GetIdx(mid); return 0; }안녕하세요, 문제가 풀리지 않아 선생님의 풀이를 보고 충실히 따라 구현하여 제출하였는데 78%쯤에서 계속 틀렸다고 나와 질문드립니다.이분탐색 범위도 맞게 설정된거 같고, 자료형도 범위에 맞게 long long으로 잘 사용한거 같은데 어디가 틀렸는지 찾을 수 없어 질문드립니다.
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/e5455ffb96284f2d983e2afeae83ec1c 선생님이랑 비슷하게 문제를 풀었습니다.하지만 궁금한 부분이 있어서 질문드립니다.선생님께선 flower부분에 이중 for문을 돌리실 때 i, j =0으로 하셨는데 제 코드의 go함수를 봐주시면 sy, sx를 사용했고 sx가 for문을 벗어나면 sx=1로 초기화해서 i++이 되어도 첫칸부터 탐색할 수 있도록 하였습니다. 이렇게 작성한 이유가 i,j를 0으로 설정해서 탐색을 하면 탐색을 했던 부분을 또 탐색을 해서 시간초과가 나오지 않을까 생각했기 때문입니다. 혹시 다른 문제가 나와도 현재 제가 올린 코드처럼 sy, sx를 사용해서 코드를 짜도 큰 문제가 없을지 궁금합니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다.
안녕하세요 선생님. 선생님 강의와 함께 학교랑 병행하면서 알고리즘 공부한지 한달 정도 됐네요. 시작과 비교했을때 bfs, 완전탐색 개념이 조금씩 쌓이고 문제를 혼자서 다 풀 수는 없지만 80퍼는 그래도 혼자 코드를 짤 수 있는 실력이 생긴 걸 보아 실력이 조금씩 느는것 같긴 하네요..!1,2학년때 다른 공부를 준비한다고 현재 3학년되서 알고리즘을 첨하지만 열심히 하고 있는데 내년엔 4학년이라 늦은 것 같아서 불안해지네요,,
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-N 시간 복잡도 질문이 있습니다.
문제링크: https://www.acmicpc.net/problem/17136이번 7주차 DP 하면서 자꾸 TLE 뜨다 보니깐 이게 완탐이나 백트래킹으로 가능한지 감이 잘 안잡혀요 ㅠㅠ큰돌님은 이 문제 바로 백트래킹으로 접근해도 된다라는걸 어떻게 파악하신건가요?예를 들어서 테스트케이스 7번0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1가 있고 큰돌님의 코드를 돌려보면 [1,1] 위치에서 만들어 질 수 있는 정사각형의 최대 사이즈는 2이므로 [1,1] 위치에서 2 크기의 정사각형의 색을 칠하면서 탐색하는데 [1,1]의 위치에서는 2의 크기로 색칠하고 시작하면 답이 안된다는걸 사람의 눈으로는 파악이 돼죠 왜냐하면 [1, 2]를 기준으로 크기 4의 정사각형을 그릴 수 있다는걸 알기 때문에요.그럼에도 불구하고 큰돌님은 위 상황을 인지한 상태에서 백트래킹으로 시도를 해보신건가요? 아니면 이게 백트래킹으로 풀린다는걸 아시고 푸신건가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 질문
http://boj.kr/63da4f35132841e68fcc5d77ff53fc60말씀해주신 풀이법이랑 좀 다르게 풀었는데,이렇게 하면 왜 오류가 발생하는지 알수있을까요?? 그리고 제 코드에서 org(입력된 원본 배열)를 별도로 만들어 최소visited처리하는데 사용했는데,혹시 이거보다 좀 더 효율적으로 하는 방법 이 있다면 알려주시면 감사하겠습니다!!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 자바 기저조건 질문
선생님, 강의 잘 듣고 있습니다! 다름이 아니라 혹시 기저조건에if (price >= answer) { return; }해당 조건을 추가해주지 않으신 이유가 있을까요?해당 조건 없이도 시간복잡도 관련해서 영향이 적기 때문일까요..?감사합니다! 아래는 저의 답안입니다!public class Main { static int n, answer = Integer.MAX_VALUE; static int[][] arr; static boolean[][] visited; static Map<Point, Integer> map = new HashMap<>(); static int[] dy = {-1, 0, 1, 0}; static int[] dx = {0, 1, 0, -1}; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine()); arr = new int[n][n]; visited = new boolean[n][n]; for (int i = 0; i < n; i++) { String[] s = br.readLine().split(" "); for (int j = 0; j < n; j++) { int price = Integer.parseInt(s[j]); arr[i][j] = price; map.put(new Point(i, j), price); } } go(0, 0); System.out.println(answer); } private static void go(int count, int price) { if (count == 3) { answer = Math.min(price, answer); return; } for (int i = 1; i < n - 1; i++) { for (int j = 1; j < n - 1; j++) { Point point = new Point(i, j); if (check(point)) { go(count + 1, price + flower(point)); wither(point); } } } } private static void wither(Point point) { visited[point.x][point.y] = false; for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; visited[ny][nx] = false; } } private static int flower(Point point) { visited[point.x][point.y] = true; int temp = arr[point.x][point.y]; for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; visited[ny][nx] = true; temp += arr[ny][nx]; } return temp; } private static boolean check(Point point) { for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; if (ny < 0 || nx < 0 || ny >= n || nx >= n || visited[ny][nx]) { return false; } } return true; } }감사합니다!!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - B 문제 질문있습니다
해당문제를 푸는데 강사님과 같은 방법으로 풀어나가고 있습니다만, 계속 12% 대에서 실패가 뜹니다. 조건문이 문제인가 싶어 dfs함수에 들어가기 전 조건문 세개 중 두, 세번째를 강의 내용처럼 합쳐보기도 하고, 문제를 잘못읽었나 싶어 map의 범위를 50 50 에서 51 * 51로도 해보고 전역변수 선언에 문제가 있나 싶어 변경도 해봤지만 해결이 안되네요. <http://boj.kr/85c9f690f6c64294a29406a816169cc0>
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
"조합"코드를 임의로 수정했는데 확인해 보고 싶습니다.
선생님이 작성해 주신 조합 코드에서 제가 보기 편하게 임의로 수정했는데 잘 한 건지 궁금합니다.완전히 같은 코드인가요? (실행 결과는 같습니다.)아니라면 어떻게 다른지왜 선생님이 작성해 주신 코드를 사용해야 하는지 가 궁금합니다!http://boj.kr/2e6fe99f57874e4c8932b2f0817c9377항상 좋은 강의 감사합니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
for(char a:str) cnt[a]++가 어떻게 알파뱃의 개수를 출력하는건가요?
안녕하세요. cnt[a]가 어떻게 알파벳의 개수를 출력하는지 이해가 되지 않습니다. 근본적으로 이해가 되지 않아 좌표이동 개념은 제외하고 질문드립니다! for(char a:str) cnt[a]++; 에서be가 입력되면 b,e가 각각 a로 들어와서 cnt[b]=98cnt[e]=101위와 같이 받는 것까지는 알겠는데 cnt[a]++면, 1개씩 증가한다는 연산자인데.. 그럼 99,102가 되는 거 아닌가요..?어떻게 알파벳의 개수를 출력하는건지 모르겠습니다 감사합니다!