알고리즘
-
백준 2670번 : 연속부분최대곱구현(Implementation) 2018. 6. 17. 10:34
https://www.acmicpc.net/problem/2670 1. 문제 요약 N 개의 양의 실수가 있을 때 한개 이상의 연속된 수들의 곱이 최대값을 출력하는 문제 2. 알고리즘 O(N^2) 으로 풀었다. 반복문을 선언해서 현재 원소에서 다음 원소까지 모든 곱을 구하여 가장 큰값을 반환 하도록 하였다. DP 를 사용하면은 O(N) 으로 풀수 있다고 한다. float, double 출력시 자리수 출력에 유의하자. 3. 코드 12345678910111213141516171819202122232425262728293031323334353637#include #include #include #include #include using namespace std; int main() { std::ios::sync..
-
백준 2669번 : 직사각형 네개의 합집합의 면적 구하기배열(Array) 2018. 6. 17. 10:02
https://www.acmicpc.net/problem/2669 1. 문제 요약 평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으며, 변이나 꼭지점이 겹칠 수도 있다. 이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. 2. 알고리즘 입력의 제한은 1 부터 100 까지 이다. 2차원 배열 board[101][101] 을 선언 하고 0 으로 초기화 한다. 다음으로 입력으로 들어오는 값은 사각형의 좌표 x, y, w, h 입력 된다. 1234567int x,y,w,h; cin >> x >> y >> w >> h; for(int i=x; i x >> y >>..
-
온라인 코딩 파티 2018 시즌1 후기일상(Life) 2018. 6. 16. 20:07
https://codingparty.goorm.io/#university 에 접속하면 코딩 문제를 풀 수 있다. 웹 페이지 상단에 보면 초중고 학생, 교사용 미션, 대학생, 일반인 용 미션 두가지가 있다. 초중고 학생, 교사용 미션은 파이썬과 자바스크립트를 이용하여 코딩 문제를 풀 수 있는 환경을 제공한다.설명이 잘 되어 있어서 처음 접한 사람도 쉽게 문제를 풀 수 있다. 코딩 창에 스크립트를 입력 하면 시뮬레이터에서 캐리터가 움직이면서 싸운다. 신선한 코딩 교육 환경이다. 대학교 때나 고등학교 때 이런 환경이 있었으면 좋지 않을까 한다. 대학생 및 일반인용 미션은 일반적인 온라인 저지와 비슷한 환경이다. 문제 난이도도 있다.ㅜㅜ 다 내가 실력이 안되서 그런거지만.. 각 기업별 제공한 문제를 풀 수 있어..
-
백준 7785번 : 회사에 있는 사람구현(Implementation) 2018. 6. 15. 12:18
https://www.acmicpc.net/problem/7785 1. 문제 요약 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램을 작성하시오. 2. 알고리즘 string map 을 선언하고 map 에 값이 enter 인 경우만 리버스 이터레이터로 출력 한다. 3. 코드 12345678910111213141516..
-
프로그래머스 Level1 > x만큼 간격이 있는 n개의 숫자프로그래머스(Programmers) 2018. 6. 14. 18:43
https://programmers.co.kr/learn/courses/30/lessons/12954 1. 문제 요약 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 2. 알고리즘 문제 대로 구현 하면 됩니다. 3. 코드 1234567891011121314151617#include #include using namespace std; vector solution(int x, int n) { vector answer; // 성준 대리님은 멋있어요 int cand = x; while(n--) { answer.push_back(cand); can..
-
프로그래머스 Level1 > 정수 제곱근 판별정수론(Number theory) 2018. 6. 14. 18:36
https://programmers.co.kr/learn/courses/30/lessons/12934 1. 문제 요약 임의의 정수 n에 대해, n이 어떤 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 2. 알고리즘 입력 받은 n 의 제곱근을 구한다. 제곱근을 제곱하여 n 과 같다면 (n+1) * (n+1) 을 반환 한다. 다르다면 -1을 반환 한다. 3. 코드 12345678910111213141516171819#include #include #include #include using namespace std; long long solution(long long n) { long lon..
-
프로그래머스 Level1 > 제일 작은 수 제거하기구현(Implementation) 2018. 6. 14. 18:16
https://programmers.co.kr/learn/courses/30/lessons/12935 1. 문제 요약 주어진 배열에서 가장 작은 수를 제외 하고 반환 하는 문제. 2. 알고리즘 주어진 배열에서 가장 작은 수를 찾는다. 작은 수를 제외하고 배열에 담아서 반환 한다. 주어진 배열의 크기가 1 이면 -1 을 담아 반환 한다. 3. 코드 1234567891011121314151617181920212223242526272829303132#include #include #include #include #include using namespace std; vector solution(vector arr) { vector answer; const int size = arr.size(); if(size ..
-
프로그래머스 Level1 > 문자열 내 p와 y의 개수문자열(String) 2018. 6. 14. 18:00
https://programmers.co.kr/learn/courses/30/lessons/12916 1. 문제 요약 입력받은 문자열에서 p와 y 의 개수가 같으면 true 를 반환하고 아니면 false 를 반환 하는 문제 2. 알고리즘 입력 받은 문자열을 소문자로 치환 한다. p, y 값을 카운팅 하여 같으면 true, 다르면 false 를 반환 한다. 3. 코드 123456789101112131415161718192021222324252627282930#include #include #include #include using namespace std; bool solution(string s){ bool answer = true; const int size = s.size(); int count_p ..