개발 노트237 [c++] 벡터, string, 배열 관련해서 주의할 점 1. 벡터는 한번에 cin 입력, cout 출력할 수 없다. 꼭 반복문을 통해서 요소별로 출력해주자 2. 벡터에 벡터는 할당이 불가하다. 벡터 a = 벡터 b; 에서 벡터 b를 벡터 a로 할당할 수 없다 3. 벡터끼리 = 으로 할당은 안되지만, string 끼리는 서로 할당이 가능하다 string a= string b; 가 가능하다. 심지어 string 서로 앞 뒤로 +"s"로 쉽게 붙일 수도 있다 4. 선언만 하고 요소를 추가 하지 않은 벡터도 벡터.size() 로 0의 크기를 얻을 수 있다. l 5. string 의 경우 선언 후 초기화 할당 안해도 문자열.length() , 문자열.size() 로 둘 다 0을 얻을 수 있다 6. push_back() 과 insert() 가 낮은 레벨의 코딩테스트에서.. 2022. 6. 18. [프로그래머스 1 / c++] 콜라츠 추측 확실히 프로그래머스 1단계는 백준 브론즈보다 쉬운것 같다. 물론 뒤쪽 연습문제 기준이다 앞쪽은 1단계라고 하지만 백준 실버나 골드정도 난이도가 보인다. 쉬운거부터 빠르게 1단계를 클리어하고 어려운 문제를 풀려고 한다. 오답노트에는 실패 케이스만 올리고 있다 그냥 조건만 열심히 구현한 코드다. 딱히 엄척난 로직이 있지 않다 하지만 num 가 int 형으로 주어지는데, 이를 그대로 사용하면 테스트 케이스에서 숫자가 커져서 런타임에러가 난다 이는 num 이 int 의 범위 이상의 수가 되었기 때문이다 그러니 그냥 num 을 long long 자료형으로 바꿔주면 쉽게 해결 된다 #include #include using namespace std; int solution(int num) { int answer =.. 2022. 6. 17. [프로그래머스 1 / c++] 행렬의 덧셈 프로그래머스의 풀이에 익숙해지기 위해 프로그래머스 1단계부터 모두 풀기로 했다 어려운 것을 풀기보다는 기본 문법과 구현에 초점을 둔 1단계 레벨이다 하지만 개념이 부족해서 놓친 문제가 있어서 적어둔다 2차원 배열 gom[b][c] 를 만들려면 for문을 두번 돌되, 하나의 i에서 c의 개수만큼 연달아 push 하면 하나의 부분배열로 묶이므로, for 안에서 임시벡터에 push하여 1차원 부분 배열을 만들고, 저장한 임시 벡터에 저장된 부분배열을 최종 벡터에 push 하여 하나의 요소로 만들고, i번 만큼 반복하여 2차원 배열로 만들어준다 중요한 개념이다 헷갈리지 말고 반드시 이해하고 가자 #include using namespace std; vector solution(vector arr1, vector.. 2022. 6. 17. 백준 4375/c++ )) 1 모듈러 연산에 대한 이해 1 , 11, 111, 1111, 11111 식으로 늘어나는 수 중에 입력한 a의 수의 배수인(a으로 나눠서 나머지가 0인) 최소값의 자리수를 구하는 문제이다 c++의 경우 표현할 수 있는 숫자의 크기가 정해져있으므로 자리수도 무한정 늘릴 수 없다 자리수가 올라갈때마다 자리수 nu에 ++ 해주고, 규칙에 의해 자리수가 올라가고 새로 취한 수는 모듈러 연산을 이용하여 나머지 값만 취하고 a의 배수인지 확인, 나머지가 0이면 배수이므로 그때의 자리수를 출력, 그렇지 않으면 다시 일정한 규칙으로 수를 기존 나머지값에 적용하여 반복하여 구하는 문제이다 입력의 경우 끝나지 않고 계속 받으므로, "cin.eof() 입력의 끝" 이 "아니다 ! " 가 참일 동안 while 을 통해 입력을 계속 유지하였다 while(.. 2022. 6. 17. 이전 1 ··· 43 44 45 46 47 48 49 ··· 60 다음