Recap Coding Test!
[DE-3] 달팽이 출력제출완료
자연수 k와 n을 입력받아, 1부터 n^2 까지의 수가 달팽이 등껍질 모양(시계 방향)으로 출력되는 프로그램을 작성해주십시오.
자연수 k는 1부터 4까지의 자연수이며, k에 따라 출발 지점이 변경됩니다.
- k가 1이면, 왼쪽 위에서 출발
- k가 2이면, 오른쪽 위에서 출발
- k가 3이면, 오른쪽 아래에서 출발
- k가 4이면, 왼쪽 아래에서 출발
예를 들어 k=1, n=5가 입력되었을 때, 1부터 25까지의 수가 5 × 5 형태의 2차원 배열에 달팽이 등껍질 모양으로 정렬되어 다음과 같은 형태로 출력되어야 합니다.
1 |
|
만약 k=2, n=5 이면,
1 |
|
만약 k=3, n=5 이면,
1 |
|
만약 k=4, n=5 이면,
1 |
|
입력 설명
두 정수 k, n (k는 1이상 4 이하의 자연수, n은 15 이하의 자연수)
출력 설명
k에 따라 달라지는 출발점에서 1부터 n2 까지의 수를 달팽이 등껍질 모양으로 정렬한 2차원 배열 (n × n) 출력
1 |
|
해설
처음 start point를 입력받고, 방향을 입력받으면 그대로 달팽이 출력을 수행할 수 있도록 했다. 달팽이 출력은 알고보면 크게 어렵지 않았는데, 달팽이는 항상 right -> down -> left -> up
의 순서를 유지했어서 항상 방향을 순차적으로 늘려주면 괜찮았다. 마지막에 print("%5d")
를 쓰면서 빈칸을 일정하게 출력할 수 있도록 맞춰주면서 마무리.
[DE-2] 괄호 짝 맞추기제출완료
대괄호 , 중괄호 { }, 소괄호 ( )가 짝이 맞게 적절히 배치되어 있는지를 판별하는 프로그램을 작성하십시오.
각 괄호의 우선순위는 상관하지 않습니다. 예를 들어, {[]} 와 같이 중괄호 안에 대괄호가 들어있어도 적절히 배치되어 있는 것으로 판별합니다.
괄호 외에도 -,+ 문자가 존재 할 수 있으며,
- - 가 입력될 경우, 왼쪽으로 가장 가까운 괄호와 동일하게 취급합니다. (입력의 가장 왼쪽에는 -가 입력되지 않습니다.)
- + 가 입력될 경우, 오른쪽으로 가장 가까운 괄호와 동일하게 취급합니다. (입력의 가장 오른쪽에는 +가 입력되지 않습니다.)
ex. [(-))] , ((-++) , {{-(-+)}+}는 짝이 맞게 배치되어 있다고 판별합니다.
입력 설명
임의의 괄호와 +,- 배치
출력 설명
짝이 맞는 적절한 배치의 경우 True 출력, 그렇지 않을 경우 False 출력
입/출력 예시
예시 1
입력
1 |
|
출력
1 |
|
예시 2
입력
1 |
|
출력
1 |
|
나의 코드
1 |
|
해설
+와 - 를 괄호로 처리해주는 부분이 포인트!
[DE-4] 유저 세그먼트 송금액 분석하기
어떤 특성을 가진 유저들에 대한 송금액을 분석해보고자 합니다.
‘20대 이면서, IOS’ 인 유저들의 ‘2020년 7월 1일’에 송금한 은행별 송금액의 합을 출력하십시오.
송금액의 합 내림차순으로 정렬합니다.
테이블 구조
- USERS
ID | NAME |
---|---|
INT | VARCHAR(20 |
- SEGMENTS
ID | NAME |
---|---|
INT | VARCHAR(20) |
- USER_SEGMENT
ID | USER_ID(USERS.ID) | SEGMENT_ID(SEGMENTS.ID) |
---|---|---|
INT | INT | INT |
- BANKS
ID | NAME |
---|---|
INT | VARCHAR(20) |
- TRANSFER
ID | SEND_USER_ID (USERS.ID) | SEND_BANK_ID (BANKS.ID) | RECEIVE_USER_ID (UESRS.ID) | RECEIVE_BANK_ID(BANKS.ID) | TRANSFER_AMOUNT(송금액) |
---|---|---|---|---|---|
INT | INT | INT | INT | INT | DATETIME |
1 |
|
후기 아닌 후기
- SQL은 처음이었는데 나름 열심히 잘 푼 것 같다. 정보처리기사의 힘.. 근데 저렇게 푸는게 좋은 방법은 아닌 느낌이다.
WHEN TRANSFER_DATE ~
이부분이 잘못되었는데=
을 사용하면 잘 듣지가 않아서.. 그냥 써버림. - 파이썬을 이번주에 조금 해서 다행이다. 안했으면 정말 한참 헤맸을 것 같은 느낌이다.
- 왜이렇게 코드가 길고 가독성이 떨어지는지 모르겠다.
- 첫번째 문제는 너무 쉬웠는데, 모든 case에서 정답이 나오질 않았다. 왜인지는 나도 잘 모르겠다.
- 뭔가 경계값에서 이상이 있을 것 같은 느낌이었다.
- 마지막 두 문제는 쳐다도 못보고 끝내버렸다. 사실 시간이 있었으면 풀었을 것 같지만 10분 남겨놓고 풀자니 못풀겠었다. (ㅠㅠ)