온라인저지

    1063 king 킹 시뮬레이션 백준 알고리즘 !

    시뮬레이션 문제풀때 조건이 많아지면 항상 실수 한다... 삼성 소프트웨어 직군 역량 평가에서도 그랬지...공통적으로 적용되는 조건을 정하고 그 조건 부터 수행하는게 정답인것 같다. 킹 문제가 쉬운 부분에 속할태지만... 처음 모든 조건을 if문으로 해결하려고 했을때 어디서 에러가, 오답이 났는지도 모르겠고 코드만 200줄이 되버려서 ....실패했다. 다른 분의 코드를 참고하여 킹을 옮길 좌표를 미리 구하고 킹이 떨어지면 탈출!아니면 킹과 돌의 위치를 파악하여 돌도 같이 옮기고 돌이 떨어지면 탈출과 함께 킹의 위치를 옮겼던 좌표를 되돌린다. 코드가 1/4로 줄었다! 답도 통과 !!! 물론 if 문으로 가지치기해서 잘 적었으면 답이 통과 됬겠지만.... 예외 찾다가 머리 터질것 같아서 그냥 새로 짰다. 킹 ..

    Counting Sort 계수 정렬 10989 백준 수정렬하기 3

    Counting Sort 계수 정렬 ! 시간 복잡도 O(n + k) 만큼 걸리고 공간 복잡도 O(k) 만큼 걸리는 정렬 알고리즘Radix Sort 기수 정렬보다 공간 복잡도가 적게 드는 장점이 있는 정렬 알고리즘이다. Radix Sort 에서는 Linked list 와 Dynamic Array가 필요하기 때문에 계수 정렬에 비해 공간이 절약된다. 기수 정렬에서 정렬될 Index를 계산 하는데 앞서 Counting number 를 누적해 나간다. 누적하기 때문에 다른 배열을 사용하지 않아도 되는 장점이 있다. Unsorted Array : 7, 2, 3, 5Stored Array : 0, 0, 1, 1, 0, 1, 0, 1 1. 정렬되지 않은 배열의 숫자 범위만큼 Stored Array 를 할당하고 숫자의..

    1408 24 백준 알고리즘 온라인저지

    처음에 if 문으로 클때 같을때 작을때 나눠서 시 분 초를 계산하려고 했다.총 6갈래가 나와서 어려울 것 같다고 판단했다. 초를 계산하고 1분이 깍아지면 분에 영향이 미치도록 했다. 시간도 같은 방식으로 시 분 초 총 if else 문 3개로 해결했다. https://www.acmicpc.net/problem/1408 24 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB172873166545.146%문제도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다...

    11653 소인수 분해 문제 백준 알고리즘

    https://www.acmicpc.net/problem/11653소인수분해 성공 예제 입력 복사72 예제 출력 복사2 2 2 3 3 소인수 분해를 할때 n의 root(n)까지만 해보면 소수인지를 알 수 있는 수학식? 이 떠올랐다.. 거창할건 없고그냥 2로 나눠질때까지 계속 나눠주고, 안나눠지면 3으로 해보고 +1, +1 이런식으로 n이 1될까지 반복 끗나눠지면 값을 나누고 반복문 돌리고 n 이 1일 될때까지 ! #include using namespace std; int main(){ long n = 0; cin >> n; int i = 2; while(true){ if(n==1) break; if((n%i) == 0){ cout

    백준 알고리즘 2934 소음 문제!

    2934번 소음 문제 !소음 성공https://www.acmicpc.net/problem/2935 입력첫째 줄에 양의 정수 A가 주어진다.둘째 줄에 연산자 + 또는 *가 주어진다.셋째 줄에 양의 정수 B가 주어진다.A와 B는 모두 10의 제곱 형태이고, 길이는 최대 100자리이다.출력첫째 줄에 결과를 출력한다. 결과는 A+B 또는 A*B이며, 입력에서 주어지는 연산자에 의해 결정된다. 예제 입력 복사1000 * 100 예제 출력 복사100000 처음에 간단한 문제인 줄 알고 long long int 썼다가 문제를 다시 읽어보니 100자리 10^100승 까지 커버해야 되는 것을 깨달음.배열에 0출력 루프 밖에 생각안나서 그렇게 풀었음, 크기가 같을 땐 2로 해주고 자릿수 만큼 출력 +a>b 일땐 a배열을 ..

    2163 초콜릿 자르기 Dynamic Programing 백준

    2163 초콜릿 자르기 Dynamic Programing 백준

    2163 초콜릿 자르기 Dynamic Programinghttps://www.acmicpc.net/problem/2163백준 온라인 저지 C++ 배우기 (1~50)문제집을 풀면서 조금 생각해야되는 문제라고 생각하여 글을 쓴다. Dynamic Programing 동적 프로그래밍을 이용하여 풀었다.초콜릿을 쪼갤때마다, 쪼갠 크기에서 1X1 초콜릿이 될때까지의 횟수를 2차원 배열에 저장 했다.1X1 이면 0이며, 가로로 인덱스가 1씩 증가할때마다 1씩 증가 시켜준다. 그 외의 초콜릿은 그 열의 초콜릿 갯수만큼 더 해주면 된다.2X2 는 1X2 에서 2를 더 해주면 총 3번 쪼갠값 ! 아이 몰라 소스코드는 아래에 ! #include using namespace std;int main(){ int cho[301]..