학습(0)/C++ 문제풀이 63

v평행

4 좌표가 주어 질 때, 두 변이 평행한가를 체크하는 함수 구현. '각 변의 차의 쌍을 구하고, 다른 변의 쌍과 같다면 이 두변은 평행하다.' 고 생각하여 작성했다.그러나, find함수로 pair 값을 구하려니, '인수 목록이 일치하는 함수 템플릿이 없다.' 는 컴파일러 오류가 발생했다. -> 컴파일러가 임시적 형변환을 할 때, 정확하지 않은 값이 발생할 여지가 있기 때문이다.int solution(vector> dots) { int answer = 0; vector> subVec; for (int i = 0; i > vec; for (int j = i + 1; j  -> 명시적 pair 생성.make pair를 사용해 pair 값임을 명시했다.if (!subVec.empty..

저주의 숫자 3

3을 혐오하는 이 마을에서는 3과 3의 배수가 들어간 숫자를 사용하지 않는다. #include #include using namespace std;int solution(int n) { int answer = 0; vector vec; while (vec.size()    다른 분의 코드 '시간 복잡도 1'#include #include using namespace std;int solution(int n) { int answer[] = {0,1,2,4,5,7,8,10,11,14,16,17,19,20,22,25,26,28,29,40,41,44,46,47,49,50,52,55,56,58,59,61,62,64,65,67,68,70,71,74,76,77,79,80,82,85,86,88,8..

A로 B 만들기

a문자열로 b문자열을 만들 수 있는가 체크. 1. 같은 문자로 이루어져 있다면, 모든 문자는 짝수일 것이다.2. map을 이용하여 각 문자를 추출한다.3. 값이 짝수가 맞는지 확인.비트 연산자를 이용하여 홀수 체크를 했고, 홀수라면 조기반환. #include #include #include using namespace std;int solution(string before, string after) { int answer = 1; unordered_map map; for (int i = 0; i  아니 왜자꾸 sort 안쓰냐고 민재야!#include #include #include using namespace std;int solution(string before, string afte..

캐릭터 좌표

한번에 통과되나! 싶었지만, '범위를 넘은 명령은 무시한다' 를 제대로 이행하지 않았다.반복문 밖에서 체크를 하니, 마지막 상태만 체크를 하는 것. 그래서 for문 안에 넣어줌.방문길이도 넘겼는데 이정돈 껌이지.#include #include using namespace std;//한 칸씩//좌표반전//결과: 마지막 좌표vector solution(vector keyinput, vector board) { vector answer(2); int x = 0, y = 0; for (const string& key : keyinput) { if ("left" == key && x > -(board[0] / 2)) --x; else if ("right" ..

직사각형의 넓이

와 조졌는데.네개의 좌표가 직사각형 하나를 이룬다고 생각하고 만들었으나 답이 아님. 찾아보니까 직사각형의 경우가 여러개여서 그중 가장 큰 넓이를 갖는 좌표가 문제에서 요구하는 직사각형이라는데, 봐도 이해가 안간다. 좌표가 같으면 다 같은 크기 아니야?리본 같이 꼬인 경우를 생각해도 모르겠다. #include #include using namespace std;int solution(vector> dots) { int width = max(dots[0][0], dots[1][0]) - min(dots[0][0], dots[1][0]); int height = max(dots[0][1], dots[3][1]) - min(dots[0][1], dots[3][1]); int answer = ..

정수 나선형 배치

달팽이 배열 이건 0lv 문제인데 며칠 째 못 풀고 있다.이전에 알았던 방법을 떠올리려 해보아도 규칙이 맞지 않다.기역, 니은으로 끊어서 n*n-1부터 시작하여 2씩 줄어든다. 라고 기억하는데 첫 xy = 7, 둘째 5는 맞아도, 둘째 x=3, y = 2여서 어찌 처리해야 할지 모르겠다. 그래서 비효율적으로라도 풀어보려 한다.경계값과 왔던 길 체크만 하여 규칙 없이 푼다.최대 길이 30이기에 통과는 할 것이다. 으, 이것도 실패. nx, ny의 좌표를 어찌 이용할지 모르겠다.더보기#include #include #include using namespace std;vector> solution(int n) { vector> answer(n, vector(n, 0)); int dir = 1; ..