출처 : https://www.acmicpc.net/problem/1075
정답 : https://github.com/stemp12/study/blob/master/acmicpc.net/2016.07/1075.cpp


이 문제의 경우 매우 심플하고 간단한 문제이다. 나보다 더 쉬운 풀이를 한 사람도 있을것이다.

결국 뒤의 2자리만 바꿔주면 되는것인데, 처음에는 n을 f로 나눈 몫을 구해서  해당몫을 다시 곱하고 조금씩 빼면 되지 않을까? 생각하였다. 그런데 이렇게 하니 너무 복잡해지기 시작하였다. 처리해야할것도 많고, 예외도 많았다.

그래서 조금 더 생각해보니 결국 뒤의 2자리만 바꾸면 뒤를 00부터 시작해서 99까지 총 100개만 포문을 돌리면 되지 않는가? 라는 생각이 들었다.

그래서 바로 시행해보았고 역시나 정답이 나왔다. 쉬운 문제이다.

'Algorithm' 카테고리의 다른 글

[AC] 2161 카드1  (0) 2016.07.11
[AC] 2188 축사 배정  (1) 2016.07.08
[AC] 6527 Bullshit Bingo  (0) 2016.07.07
[AC] 10815 숫자카드  (0) 2016.07.07
[AC]1065 한수 , 1072 게임  (0) 2016.07.06

출처 : https://www.acmicpc.net/problem/6527

정답 : https://github.com/stemp12/study/blob/master/acmicpc.net/2016.07/6527.cpp


그냥 오랜만에 영어문제와 문자열 놀이 문제를 풀어보고 싶었다. 

문제는 그리 어렵지 않다. 그냥 단어들을 추려내서 불쉿이라고 하기전에 몇개의 단어가 쓰이는지 확인하고 카운팅시켜주고, 중복은 피한다. 그리고 불쉿이되면 게임이 종료된걸로 간주한다. 그러면 단어를 처음부터 다시 입력받고 위 과정을 계속 반복한다.

그리고 문제에 맞춰서 풀면 된다. 간단한 문제이다.


'Algorithm' 카테고리의 다른 글

[AC] 2188 축사 배정  (1) 2016.07.08
[AC] 1075 나누기  (0) 2016.07.08
[AC] 10815 숫자카드  (0) 2016.07.07
[AC]1065 한수 , 1072 게임  (0) 2016.07.06
[AC] 1562 계단 수  (0) 2016.07.05

출처 : https://www.acmicpc.net/problem/10815

정답 : https://github.com/stemp12/study/blob/master/acmicpc.net/2016.07/10815.cpp


이 문제의 경우 이진탐색 문제로써 그냥 오랜만에 풀어봤다. 뭐든 안하면 잊어버리는 법이기에 풀어보았다.

한번에 정답을 맞지 못했는데, M이 50만이면 입력도 50만 출력도 50만번을 해야 한다. 그런데 나는 cin cout을 사용하여 시간상 오버가 되었다. 과거에도 이런 경험이 많았기에, 바로 수정하였고 scanf와 printf를 사용하여 정답을 맞았다. 

다음주에는 조금 더 복잡한 이진탐색문제를 하나 풀어봐야겠다. 


'Algorithm' 카테고리의 다른 글

[AC] 1075 나누기  (0) 2016.07.08
[AC] 6527 Bullshit Bingo  (0) 2016.07.07
[AC]1065 한수 , 1072 게임  (0) 2016.07.06
[AC] 1562 계단 수  (0) 2016.07.05
[AC] 1004 어린왕자  (0) 2016.07.05

1065  한수

출처 : https://www.acmicpc.net/problem/1065

정답 :  https://github.com/stemp12/study/blob/master/acmicpc.net/2016.07/1065.cpp


1072 게임

출처 : https://www.acmicpc.net/problem/1072

정답 : https://github.com/stemp12/study/blob/master/acmicpc.net/2016.07/1072.cpp


두문제 다 쉽다. 

먼저 한수는 n을 줄때 1부터 n까지 수들을 자릿수별로 각각봤을때 등차수열을 이루는지 보면된다.

당연히 3자리 이하는 무조건 등차수열을 이루게 된다. 비교할 대상이 없기 때문이다.

그렇기 때문에 100부터 보면 되는데 간단히 수를 나누어서 계산하면된다. 어차피 최대값이 1000미만이기때문에 999라고 보면 3자리가 맥시멈이다. 간단한 문제이다.


1072 게임은 수학문제이다.

그냥 수학적으로 계산하고 소숫점과 자릿수를 잘 판단해서 계산하면 나온다.

형변환을 여기저기서 했는데 처음에 한 이유는 문제에서 z의 승률은 소수점을 버리라고 했기 때문이고(소수가 있는것과 없는것은 값에 큰 영향을 미친다.) 두번째는 long long을 하지 않으면 값이 커질때 e가 나오면서 제대로 표기가 되지 않을 수도 있다. 

그리고 함수중에 ceil()을 사용했는데 이는 실수를 무조건 올림하라는 말이다. 반대로 내림을 할때는 floor()를 쓰면 된다.  수학이기 때문에 당연히 math.h에 있다. 


오늘은 더 어려운문제를 풀고있었으나, 문제에 맞는 알고리즘을 이해하고 내것으로 만드는데 너무 오랜시간을 소모하여 풀지 못하였다. 내일 이어서 풀어야겠다.

'Algorithm' 카테고리의 다른 글

[AC] 6527 Bullshit Bingo  (0) 2016.07.07
[AC] 10815 숫자카드  (0) 2016.07.07
[AC] 1562 계단 수  (0) 2016.07.05
[AC] 1004 어린왕자  (0) 2016.07.05
[Self_AC] 9813 계산기  (0) 2016.07.04

+ Recent posts