입력받은 Blefuscu를 Liliput로 바꾼다고 생각하면 된다.


32비트 숫자가 주어지며 4바이트로 분류하면


A B C D 이렇게 나눌 수 있다. 이 숫자를

D C B A 로 비트룰 바꾼 정수값을 출력하는 문제이다.


밑에 댓글들을 보면 왜 저런 답이 나오는지 모르겠다는 사람들이 있는데 첫 번째 예시를 보면


정수 2018915346를 2진수로 변경하면

 A

 B

 C

 D

 0111 1000

 0101 0110

 0011 0100

 0001 0010

 

이 된다. 이를 앞서 말한대로 D C B A 순서로 바꾼다.


 D

 C

 B

 A

 0001 0010

 0011 0100

 0101 0110

 0111 1000


이 된다. 이 비트를 10진수로 변경하면 된다.

그러면 305419896이 나오게 된다.



나는 STL에서 bitset을 이용해서 앞서 설명한대로 8비트로 나누어 순서를 변경하여 문제를 해결했다.




'코딩,문제풀이 > Algospot' 카테고리의 다른 글

사각형 그리기(DRAWRECT)  (0) 2018.07.31
Lecture Note(LECTURE)  (0) 2018.07.31
문자열 암호화(ENCRYPT)  (0) 2018.07.31
Mispelling(MISPELL)  (0) 2018.07.31
Conversions(CONVERT)  (0) 2018.07.31

입력 좌표가 사각형이므로

각각의 x좌표와 y좌표는 2번씩 입력되어야 한다.

한번씩 입력된 좌표가 답이 된다.



'코딩,문제풀이 > Algospot' 카테고리의 다른 글

Endians(ENDIANS)  (0) 2018.07.31
Lecture Note(LECTURE)  (0) 2018.07.31
문자열 암호화(ENCRYPT)  (0) 2018.07.31
Mispelling(MISPELL)  (0) 2018.07.31
Conversions(CONVERT)  (0) 2018.07.31

입력받은 문자열을 2문자씩 나눈 후, 정렬하면 된다.


STL을 공부하고 난뒤 코딩하니 훨씬 편해졌다.




아래 소스는 옛날 옛적 STL 사용하기전에 직접 문자열 순서 비교해서 스왑해줬던 코드이다..


'코딩,문제풀이 > Algospot' 카테고리의 다른 글

Endians(ENDIANS)  (0) 2018.07.31
사각형 그리기(DRAWRECT)  (0) 2018.07.31
문자열 암호화(ENCRYPT)  (0) 2018.07.31
Mispelling(MISPELL)  (0) 2018.07.31
Conversions(CONVERT)  (0) 2018.07.31

길이가 1, 2인 문자열은 그대로 출력하면 된다.


그외의 경우에는 길이가 짝수/홀수 일 떄를 나누어서


짝수번째 먼저 출력하고, 홀수번째를 출력하면 된다.



'코딩,문제풀이 > Algospot' 카테고리의 다른 글

사각형 그리기(DRAWRECT)  (0) 2018.07.31
Lecture Note(LECTURE)  (0) 2018.07.31
Mispelling(MISPELL)  (0) 2018.07.31
Conversions(CONVERT)  (0) 2018.07.31
에어컨을 끈다고 전력난이 해결될까?(HOTSUMMER)  (0) 2018.07.31

잘못된 문자의 위치와, 문자열이 주어진다.


a라는 배열에서 b 배열로 문자를 복사하는데, 잘못된 위치의 문자는 건너뛰고 복사한다.



표에 주어진 대로 단위를 변환해 주면 된다.

나는 무게 다음 주어진 단위를 비교해서 변환했다.



주어진 허용량 w와 각 시간별 사용량의 합을 비교하여 출력하면 된다.



'코딩,문제풀이 > Algospot' 카테고리의 다른 글

Mispelling(MISPELL)  (0) 2018.07.31
Conversions(CONVERT)  (0) 2018.07.31
튜토리얼-왕초보급 구현 문제 MERCY  (0) 2018.07.31
시계 맞추기(CLOCKSYNC)  (0) 2018.07.08
게임판 덮기(BOARDCOVER)  (0) 2018.07.08

단순 구현 문제이다.


입력받은 숫자 만큼


Hello Algospot!을 출력하면 된다.



'코딩,문제풀이 > Algospot' 카테고리의 다른 글

Conversions(CONVERT)  (0) 2018.07.31
에어컨을 끈다고 전력난이 해결될까?(HOTSUMMER)  (0) 2018.07.31
시계 맞추기(CLOCKSYNC)  (0) 2018.07.08
게임판 덮기(BOARDCOVER)  (0) 2018.07.08
피크닉(PICNIC)  (0) 2018.07.08

탐색해야하는 경우가 많지않기때문에 완전탐색을 이용했다.


각 스위치를 누를때마다 시간이 3씩 증가한다. 즉, 스위치를 4번 누르면 해당 시계들이 다시 원래의 시간을 가지게 된다. 그러므로 각각의 스위치를 0, 1, 2, 3 번 누를때에 대하여 재귀적으로 호출했다.


dfs함수가 호출될 때 마다, 모든 시계가 12시를 가르키는지 체크한 후, 모든 시계가 12시를 가르키면 min값 갱신 후에 반환,

아닌 경우에는 그다음 스위치를 눌러본다. 


불가능할 때 -1을 처리하지 않아 처음에 틀렸는데, 문제를 꼼꼼하게 읽어야 하는 중요성을 다시 깨닿게 된다.





'코딩,문제풀이 > Algospot' 카테고리의 다른 글

에어컨을 끈다고 전력난이 해결될까?(HOTSUMMER)  (0) 2018.07.31
튜토리얼-왕초보급 구현 문제 MERCY  (0) 2018.07.31
게임판 덮기(BOARDCOVER)  (0) 2018.07.08
피크닉(PICNIC)  (0) 2018.07.08
보글(BOGGLE)  (0) 2018.07.08

coverType는 책에 나와있는 부분을 이용하였다. 옛날 같으면 직접 하드코딩했지만, 확실히 좌표값을 움직일 때에는 미리 정의해놓고 사용하는 것이 반복문을 이용하기에 편리한 것 같다.


이 문제를 해결하기위해 DFS를 이용한 완전탐색을 이용하였으며, 중복을 최대한 줄이기 위해 전체 보드판에서 가장 위, 가장 왼쪽에 있는 빈 부분'.'의 좌표부터 탐색하기 시작한다.


빈 좌표에 대하여 4가지 블록을 놓을 수 있는지 확인한 후에, 다음 빈칸을 찾아 재귀적으로 호출하며, 다음 빈칸이 없는 경우에는 모든 블록이 덮어진 것이므로 카운트를 1 증가시킨다. 또, 이런 경우, 다른 모양의 블록은 해당 x,y 좌표에 넣을 수 없으므로 바로 리턴해준다.




'코딩,문제풀이 > Algospot' 카테고리의 다른 글

튜토리얼-왕초보급 구현 문제 MERCY  (0) 2018.07.31
시계 맞추기(CLOCKSYNC)  (0) 2018.07.08
피크닉(PICNIC)  (0) 2018.07.08
보글(BOGGLE)  (0) 2018.07.08
록 페스티벌(FESTIVAL)  (0) 2018.06.19

+ Recent posts