본문 바로가기

algorithms

[Python] 백준 알고리즘 문제풀이 :: 1094번 C로는 SW Expert Academy 문제를, 파이썬으로는 백준 문제를 푼다. 각각 1일 1문제를 풀기로 했고 거의 지키고 있다. 다만 블로그 업로드는 아무래도 C를 많이 올리게 됐다. 코드도 좀 더 길고 복잡하다보니 할 말이 많아서. 오랜만에 파이썬 문제를 하나 풀린다. 막대기 문제. 본질은 이진법으로 숫자를 구현하는 문제다. 재귀를 썼다. 문제 https://www.acmicpc.net/problem/1094 풀이 123456789101112131415import sys def stickAdder(x, stick, cnt, idx): unit = [64, 32, 16, 8, 4, 2, 1] if stick+unit[idx] == x: print(cnt) elif stick+unit[idx] 더보기
[C] SW Expert Academy 문제풀이 :: 1954번 SW Expert Academy 1954번 달팽이 숫자 문제풀이. 처음에 접근법이 살짝 헷갈렸던 문제. 뭔가 효율적이고 쉬운 방법이 있을 것 같았다. 근데 풀다보니깐 그냥 배열을 만들어 놓고 일일이 메모리에 접근해서 숫자를 대입했다. 컴공 첫 과제로 내는 문제라고들 한다. 몇 번 숫자를 대입하고 방향을 꺾나 세보니 n, n-1, n-1, n-2, n-2, .... 2, 2, 1, 1, 이런 식으로 되더라. 시작부터 n번 오른쪽으로 진행하고 아래로 방향을 꺽고, n-1 아래로 진행하고 왼쪽으로 방향을 꺾는 식. (n, n-1) (n-1, n-2) ,.... (2,1), 1로 분할해줬다. 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?c.. 더보기
[C] SW Expert Academy 문제풀이 :: 1961번 SW Expert Academy 1961번 숫자 배열 회전 문제풀이. 문제가 말하는 게 무슨 말인지 이해하는데 한참 걸렸다. 2차원 배열을 90도, 180도, 270도 회전해 출력하는 문제인데, 1자리 수가 들어있는 3x3 행렬을 회전했더니 3자리 수가 들어있는 3x3 행렬이 나온 것이다. 알고보니 90, 180, 270도 회전한 배열을 나란히 출력한 것이었다. 어쨌든 구현은 간단했다. 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pq-OKAVYDFAUq&categoryId=AV5Pq-OKAVYDFAUq&categoryType=CODE N x N 행렬이 주어질 때, 시계 방향으로 90도, 180도, 2.. 더보기