안녕하세요. 강의를 들으면서 실습을 하면서 하는 중인 학생입니다. 예제 문장이 아닌, "hello world!" 로 했을 경우, hello hello가 두 번 나와서 강의 교안과 비교해보니 강의 7:18초 쯤 12번째 줄이 ret.push_back(token) 부분이 알고리즘 교안에는 ret.push_back(input)으로 나와 있네요..ㅠ 확인부탁드립니다..
안녕하세요 선생님, 답안을 보며 제가 작성했던 코드의 로직만 변경해보는데 아무리 해도 통과되질 않았습니다. 설마 하고 child++ 부분을 건드렸는데 통과되길래 이번엔 답안의 child++부분만 제가 작성했던 대로 바꿨더니 통과하지 못했습니다. child == 0을 체크하는 것과 adj[here].size() == 0을 체크하는 것은 같은 동작을 해야할 것으로 보이는데 차이가 발생하는 것이 이해가 가지 않아 질문을 드립니다. 왜 size() == 0 방식은 틀리는 것인가요? http://boj.kr/754400230cc34e12826f100050bfe9eb
안녕하세요. 1-C문제에서 a, b, c의 값을 입력 받은 후, 배열을 0으로 초기화하면 왜 a의 값만 0으로 바뀌는건지 궁금합니다. cin >> a >> b >> c; cout << " a :" << a << " b : " << b << " c : " << c << '\n'; arr[104] = {}; cout << " a :" << a << " b : " << b << " c : " << c << '\n'; 감사합니다.
http://boj.kr/23616730eac14d368933bf527d72cafd 선생님 안녕하세요 제가 재귀로 푸는 함수를 짜보았습니다. 일단 뮤탈리스크가 3개가 있다는 가정하에 짠 로직인데(나중에 다른 뮤탈리스크 개수가 입력되는 로직을 추가할 예정입니다) 코드가 잘 실행이 되지 않아서 질문드립니다! 감사합니다!
안녕하세요 큰돌님 bfs로 최단거리를 탐색하여 문제를 풀어 보았습니다. q에서 뺄때, 방문처리를 할때는 맞는데, https://www.acmicpc.net/source/61392099 q에 넣을때 방문처리를 할때는 틀립니다. https://www.acmicpc.net/source/61392143 최단거리라 q에 넣을때 바로 방문처리를 해줘서 더 높은 cnt일때 방문한 값이 다시 큐에 들어갈일이 없도록 하는것이 맞는것 같은데, 어떤 경우에서 틀린지 모르겠습니다.
안녕하세요 큰돌님! 벡터에 trace를 저장하여 k에 도달하면 trace를 출력하는 방식으로 풀었습니다. 벡터의 push_back()은 시간 복잡도 O(1)으로 알고 있습니다. 때문에 왜 시간 초과가 나는지 궁금합니다! https://www.acmicpc.net/source/61394001
http://boj.kr/75cc76adfce24cbd88595ea4ea999a5d 안녕하세요 강사님 ㅎㅎ 해당 강의 초반에 무식하게 풀었을 때의 시간복잡도가 (n * n-1 / 2) *n 이라고 설명하시는데 제가 혼자 문제풀 때는 다르게 계산을 했거든요... 저는 연속된 수들의 곱이니까 이중 for문으로 for(int i=0; i<n; i++){ for(int j=i+1; j<n; j++){ 식의 연산이 필요하다 생각했고 여기다가 백트래킹으로 == 0일때 break 정도하는 조건까지만 넣었습니다. 이러면 등차수열의 합 정도의 시간복잡도가 되니 O(n^2)이고 n의 최대범위가 10000 -> 제곱은 1억 -> 1억에서 천만까지는 해볼만하다고 알려주셔서 위 생각의 흐름대로 문제를 풀었습니다. 혹시 제가 시간복잡도 계산을 잘못한건가요..?
#include <iostream> #include <iomanip> using namespace std; int main() { float x = 79; cout << showpoint << fixed << x << endl; cout << noshowpoint << x << endl; } showpoint를 쓰다가 noshowpoint 조정자를 쓰면 리셋돼서 소수점이 다시 출력되지 않는 것처럼 fixed도 리셋할 수 있는 방법이 있나요?
#include <iostream> #include <iomanip> using namespace std; int main() { int widthValue{ 4 }; char sentence[10]; cout << "Enter a sentence:\n"; cin.width(5); while (cin >> sentence) { cout.width(4); cout.fill('0'); cout << sentence << "\n"; cin.width(5); } } 이 코드를 실행하면 공백 없이 sentence에 입력값을 넣었을 때는 출력값이 이해가 되는데 공백 포함해서 sentence에 입력하면 출력값이 이해가 안 돼요...! cout.width(4);가 4개를 출력하는데 sentence 배열에서 white space를 만나면 더 이상 출력을 안 하는 건가요? 왜 그런 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 멘토님 안녕하십니까? string()이게 생소해서 질문 드립니다. 아래는 멘토님이 짜신 정답 코드 일부인데요 string quard(int y, int x, int size){ if(size == 1) return string(1, a[y][x]); char b = a[y][x]; string ret = ""; for(int i = y; i < y + size; i++){ for(int j = x; j < x + size; j++){ if(b != a[i][j]){ ret += '('; ret += quard(y, x, size / 2); ret += quard(y, x + size / 2, size / 2); ret += quard(y + size / 2, x, size / 2); ret += quard(y + size / 2, x + size / 2, size / 2); ret += ')'; return ret; } } } return string(1, a[y][x]); } 2번째 줄과 마지막 줄에 string()를 써서 1또는 0을 return한다고 강의에서 말씀하셨는데, string이 함수로 쓴다는건 처음알아서 생소해서 그런지 이해가 안갑니다. 부가 설명을 해주실 수 있을까요? 또, 구글링으로 "c++ string()"정도로만 검색해도 자료가 잘 안나오던데, 제가 직접 찾아보려면 msdn? 어디서 찾아보면 좋을 지 조언 받을 수 있을까요?
#include <iostream> using namespace std; int main() { char str1[50]; char str2[50]; char str3[50]; cin.get(str1, 50); cout << "1: " << str1 << endl; //cin.ignore(); 첫 번째 ignore cin.get(str2, 50, '\n'); cout << "2: " << str2 << endl; //cin.ignore(); 두 번째 ignore cin.get(str3, 50, '\n'); cout << "3: " << str3 << endl; } cin.ignore()이 첫 번째 자리에 있을 때는 str2가 매개변수인 get이 '\n'을 무시하고 입력을 받는데 두 번째 자리에 cin.ignore()이 있을 때는 '\n'을 무시하지 않고 즉시 호출되고 끝납니다. 왜 이렇게 되나요? 두 번째 자리에만 ignore()이 있을 때 cin.get(str2,50,'\n') 함수가 버퍼에 남아있는 '\n'을 받은 후에도 버퍼에 계속 남아 있나요? <실행 결과> (첫 번째 자리의 ignore만 있을 때) wendy 1: wendy irene 2: irene 3: <실행 결과> (두 번째 자리의 ignore만 있을 때) wendy 1: wendy 2: 3:
http://boj.kr/f62ec3c209234df98988f6cc6d37ddee 선생님 안녕하세요 위 코드가 제 코드입니다. 다름이 아니라 제 코드는 예제입력 4 실행시 두번째 인구이동에서 (1,2)->(2,2)->(2,1)이 되어야하는데 코드가 (2,2)에서 dfs를 타고 (2,1)로 넘어가지를 않습니다. 혹시 이유를 알려주시면 정말 감사하겠습니다!!
https://www.acmicpc.net/source/share/a683363852be4b508750d3f3382be974 안녕하세요 강사님! 강사님 풀이에서 X의 최댓값이 10억이니까 hi를 10억으로 놓는다는게 잘 이해가 가지 않습니다 ㅜ 제가 갖고있는 의문점은 '게임을 10억판보다 더 해야 Z가 변하는 case도 있지 않을까?'인데 혹시 X의 최댓값이 10억인 경우 10억 판(승리) 안으로 z가 무조건 변한다는 것이 증명이 되는건가요?