Algorithm/배열

    [틀림] 프로그래머스 자물쇠와 열쇠 // 배열회전, 배열좌표

    [틀림] 프로그래머스 자물쇠와 열쇠 // 배열회전, 배열좌표

    https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr시도1lock 의 y,x에 좌물쇠를 대보면서 전부 1인지 체크하는 방법오답포인트 : 자물쇠, 열쇠 둘다 (0,0)에서 시작한다고 가정반례 : 열쇠가 좌물쇠 좌측위에 있는경우도 가능함.#include using namespace std;vector> key, loc, origin;vector> rot(vector> origin){ vector> ret(24, vector(24, 0)); // int ret[24][24]; for(i..

    [틀림] 프로그래머스 외벽점검 // 원형배열, 순열

    [틀림] 프로그래머스 외벽점검 // 원형배열, 순열

    https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 풀이n이 작음 (15) -> 비트마스킹? -> 내부에서 순서도 중요하네? -> 그냥 순열?idx가 사람의수이면서 && dist의 index 역할j는 weakArr(weak를 시작점에따라 바꾼것) 의 index임dist를 앞부터 weakArr에 집어 넣어보는 완전탐색 방법.원형배열 구현 , 거리가 중요한경우결론 : startIdx기준으로 뒤넣고, 앞넣을때 배열 size만큼 더해주면된다.vector make(int startIdx, vector&..

    [알고리즘] 리트코드 238. Product of Array Except Self c++ // 배열, 누적곱, rbegin, partial_sum

    [알고리즘] 리트코드 238. Product of Array Except Self c++ // 배열, 누적곱, rbegin, partial_sum

    https://leetcode.com/problems/product-of-array-except-self/description/* 풀이1(케이스 분류)경우의수를 나누고구현i) 0의갯수가 0개인경우ii) 0의갯수가 1개인경우iii) 0의갯수가 2개이상인경우class Solution {public: vector productExceptSelf(vector& nums) { vector ret; int zero_count=0; int total_product=1; for(auto num : nums){ if(num==0) zero_count++; else total_product*=num; } ..

    리트코드 자기를 제외한 배열의 곱 c++ // 누적곱 해결방법 : 누적곱 테이블을 정의하라

    리트코드 자기를 제외한 배열의 곱 c++ // 누적곱 해결방법 : 누적곱 테이블을 정의하라

    https://leetcode.com/problems/product-of-array-except-self/description/1. 기존코드0을 제외한 총 곱을 구하고0이 몇개인지에 따라서 분기함.. 너무 복잡함typedef long long ll;class Solution {public: vector productExceptSelf(vector& nums) { vector v,zero; int ret=1, iszero=0,isallzero=1; //0을제외한 총곱 , 0이있는지, 모두0인지 for(auto num:nums){ if(num==0) { iszero=1; zero.push_ba..

    백준 13458 시험감독 c++ // ret는 int범위를넘을수있다.

    https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 1. ret의 범위설정 시험장 1,000,000 * 학생수 1,000,000 > 21억 -> long long ret를 써야함 2. 전체코드 #include using namespace std; int n, a[1000000+4], b, c,tot; long long ret; int main() { cin.tie(0); cin >> n; f..

    프로그래머스 주차요금계산 c++ // 구현, db설정하라

    https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. DB설정 vector cars(9999+1); //car[0000] : 차번호0000의 시작시간,끝시간 cnt[10000] //차i가 주차한 총시간 stored[10000] //직전에 입차한 시간 //바킹독 2.시행착오 1. 한 자동차가 여러번 출차가능한경우를 빼먹었다. 3.전체코드 파싱결과 res : 05:34 / 5761 / IN times : 05 / 34 가 저장된다. #include..

    백준 1919 cpp // 문자열 차이검사는 +1, -1로 비교하라

    https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net *의사코드 1. s1 문자는 +1 // v[a]++ 2. s2 문자는 -1 // v[a]--; 3. 0이 아닌 v에 대해 == 서로다른 문자에 대해 : ret+= abs(v[a]) // s2는 음수이므로 절대값으로 해결 #include using namespace std; int ret,a[26]; string s1, s2; int main() { ios_base::syn..

    백준 11328 cpp // tc문제는 visit을 초기화하라 , 카운팅 배열 동등비교시 +1 -1하고 값이 0이면 같은배열

    https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net *의사코드 1. v1, v2에 알파벳 등장횟수저장 // v[a] == a 등장횟수 2. 모든값이 같으면 같은배열임 -> 순서바꿔서 같은 문자열로 만들수있음 -> Possible 3. else -> 불가능 * tc문제는 visit을 초기화하라 for (int i = 0; i < tc; ++i){ fill(v1,v1+26,0); fill(v2, v2 + 26, 0); * 카운팅 배..