목록Algorithm/programmers (17)
Mini
코딩테스트 연습 - [1차] 뉴스 클러스터링 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *의사코드 1. 소문자로 2. 2칸씩검사하면서 알파벳이아니면 컨틴뉴 아니면 append 3. dict에 key,원소갯수 저장 ※ m['a'] 바로접근시 에러 해결 : if 문자 not in m -> 할당 m[문자]=1 else: m[문자]+=1 4. 맵순회하면서 ( for key in m) ex) s1 : 'fr' : 3 s2 : 'fr',5 이면 합집합==최대값 교집합==최소값이됨 4.1 중복키가 존재하는경..
https://school.programmers.co.kr/learn/courses/30/lessons/17682?language=python3# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * Python spagetti - 문제 : 단순히 이전값을 더하는방식은 문제에어긋남 //보너스 score+=현재값*2+이전값 - 해결 : list에 각각을 push하고 *을 만나면 [i-1]과 [i]를 2배하고 마지막에 list합을 계산 def solution(dartResult): answer = 0 #숫자앞에 구분자넣기 s="" pre=False #이전값이 숫..
코딩테스트 연습 - [1차] 캐시 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * Python - idea list의[0]을 아웃대상으로 본다. ex) [0] [1] [2] jeju pangyo seoul 판교가들어오면 -> pop(1), append(판교) -> 맨뒤로보내서 아웃안되도록 1. all 소문자로 2.q안에 이미존재 : answer+1 -> 제일뒤로보내 =>아웃되지않도록 q.pop(q.index(city)) //list.index(해당값) q.append(city) 3. 존재하지않는경..
코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * cpp 1.ret.push(arr1 or arr2) 2.IntToBin(ret) 3.n칸만큼 앞에 0채우기 4.1->#, 0->공백으로 answer에 push_back #include using namespace std; int N; vector v1, v2; //v(크기,대상) //vector ret(16,vector(16,0)); vector ret; vector answer; void opOr(){ for(..
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 중복순열 result에 idx가 저장된다. result[i]를 가지고 실제데이터에 접근하면된다. ex) sale[]={10,20,30,40} result={0,1} saleV={10,20} void permRe(){ if(result.size()==N){ //Logic for(auto i : result){ coutv2.second; } return v1.first>v2.first; } #i..
*c++ split vector split(string input, string deli){ long long pos=0; vector ret; string token=""; while((pos=input.find(deli))!=string::npos){ token=input.substr(0,pos); ret.push_back(token); input.erase(0,pos+deli.size()); } ret.push_back(input); return ret; } * 시간, 날짜문제는 제일적은단위로 단위를통일하라 //2022, 05, 19 -> 99999일 //test 완료. long long todayToDay(vector v){ long long ret=0; ret+=stoi(v[0])*336; re..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 2차원벡터다루기 형식 vector 스킵 거리가 2이하 and 거기가 사람임 -> false for(4방탐색) 범위쳌 방문함 ->스킵 next==x -> 스킵 방문처리 큐푸쉬 #include #include #include using namespace std; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; struct Point{ int y; int x; int di..
코딩테스트 연습 - 숫자 카드 나누기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 : 탐색이많다 해결 : 정렬, 배열중 최소값의 약수 비교만으로 충분함. ex) 14,35, 70 의 최대공약수 후보 : 1,7,14 중에 있다. / 35,70약수는 필요없음. #include #include #include using namespace std; //안나눠 지는게 잇다.(true) bool is_rest (int num, vector array) { for(auto c : array) if (c%..