320x100

코딩테스트 준비/프로그래머스 3

2021 카카오 채용연계형 인턴십거리두기 확인하기

풀 때 신경쓸 부분은 다음 2가지 정도 인 것 같다. 1. 맨하탄 거리 맨하탄 거리는 피타고라스의 정리처럼 직선 거리가 아닌 실제 유효한 이동거리(건물을 뚫고 갈 수 없으니 실제 도보의 길이)임을 기억 2. 파티션의 위치 사람 사이에 파티션이 있는지 체크해야 하는데, 직선일 때(X축, Y축)와 대각선으로 있을 때만 구분해서 체크 #include #include using namespace std; // 맨하탄 거리 구하기 int getManhattanDistance(int r1, int c1, int r2, int c2) { return std::abs(r1 - r2) + std::abs(c1 - c2); } // 문자열 잘라서 테이블 만들기랑 P의 좌표만 기억해두기 void parse(const vec..

2020 KAKAO BLIND RECRUITMENT문자열 압축

너무 오랜만에 하려고 하니까 귀찮아서 대충 짠거같다. 풀기 급급해서 깔끔하게 짜는건 실패한거 같다. 요지는 1글자부터 length/2 글자까지 반복해가면서 줄여보고 가장 짧은 글자 수를 반환하면 된다. 늘 풀면서 느끼는건 뭔가 대단한 알고리즘이 있을거 같지만 대부분은 그냥 노가다 코드 짜는 것 뿐인것같다. #include #include using namespace std; int check(string& str, int size) { string temp; string temp1; string temp2; int count = 1; // 생각해보니 매번 자르지말고 size별로 미리 텍스트를 잘라서 vector에 담아놓고 써도 될 것 같다. for (int i = 0; i < str.length() - ..

스킬 체크 테스트 Level.3 - xx 회사의 2xN명의 사원들은

https://programmers.co.kr/skill_checks/304247 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 - 케이스는 통과했지만 erase 때문에 효율성 통과 못함. #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(), A.end(), greater()); sort(B.begin(), B.end(), greater()); for (int i=0; i min_diff) min_diff = *it..

320x100