Python

    [python] SWEA - 6692. 다솔이의 월급 상자

    [python] SWEA - 6692. 다솔이의 월급 상자

    🤔문제 해결 D3 | ... 💨 왜 D3인지 모르겠지만, 아마 소수점 컨트롤 때문에 D3 인가 싶기도 하다. 💨 나의 경우 p 와 x 를 그냥 float 으로 바꿨는데 계속 오답이 났다. 💨 p 는 float, x 는 int 로 하니깐 바로 통과 💻소스 코드 for tc in range(int(input())): N = int(input()) avg = 0 for _ in range(N): tmp = input().split() p = float(tmp[0]) x = int(tmp[1]) avg += p * x # print(f'#{tc + 1} {total:6f}') print(f'#{tc + 1} {avg:.6f}') 📕문제 확인 출처: SW Expert Academy SW Expert Academy..

    [python] SWEA - 10570. 제곱 팰린드롬 수

    [python] SWEA - 10570. 제곱 팰린드롬 수

    🤔문제 해결 lv3 | 문자열 💨 제곱수이므로 제곱근이 정수일 때만 계산한다. 💨 정수와 그 제곱근을 문자로 만들어 뒤집고, 뒤집기전과 같은지 확인한다. 💻소스 코드 for tc in range(int(input())): A, B = map(int, input().split()) cnt = 0 for i in range(A, B + 1): C = i ** (1 / 2) if C == int(C): # 제곱근이 정수일 때 i = str(i) C = str(int(C)) if i == i[::-1] and C == C[::-1]: cnt += 1 print(f'#{tc + 1} {cnt}') 📕문제 확인 출처: SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움..

    연결 리스트(LinkedList)

    연결 리스트(LinkedList)

    연결 리스트 리스트는 데이터에 순서를 매겨놓은 자료구조이다. (단일)연결리스트는 리스트의 한 종류이다.여기서는 포인터를 이용해서 연결리스트를 만들어보겠다. 연결리스트는 위의 그림처럼 각 노드들이 연결되어있는 형태를 나타낸다.각 노드 안에는 데이터와 다음노드를 참조하는 포인터로 이루어져 있다.A, B, C 의 노드가 있다고 하면 첫번째 노드 안에는 A라는 데이터와 B를 참조하는 포인터가 있다.두번째 노드 안에는 B라는 데이터와 C를 참조하는 포인터가 있다.세번재 노드 안에는 C라는 데이터와 다음이 없으므로 참조하는 포인터는 없다. 여기서 첫번째 노드를 머리 노드, 마지막 노드를 꼬리 노드라고 한다. 연결리스트의 장점은 원하는 만큼의 노드를 동적으로 추가/삭제 할 수 있다.단점은 배열처럼 메모리공간에 정렬되..

    [python] 백준 - 15685. 드래곤 커브 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 15685. 드래곤 커브 (삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G4 | 구현, 시뮬레이션 좌표를 구해서 회전을 시켜가며 구하려고 했지만 도저히 아닌거 같았다. ( 방향이 주어졌는데 처음 1번만쓰고 버리나? 라고 생각했음 ) 방향으로 보니 규칙성이 있었다. 0세대: 0 1세대: 0 | 1 2세대: 0 1 | 2 1 3세대: 0 1 2 1 | 2 3 2 1 이제 구하는 순서는 드래곤 커브하나(한줄)의 방향들 구하기 드래곤 커브하나의 시작점을 기준으로 방향에 따라 쭉쭉 좌표써내려가기 모든 드래곤 커브를 맵에 표시했다면 네모 구하기 💻소스 코드 import sys input = sys.stdin.readline def make_curve(x, y, d, g): # 좌표로 푸는것이 아니라 규칙을 찾아 진행방향으로 푼다! # 진행방향은 지금까지 진행해온 것들을 역..

    [python] 백준 - 14500. 테트로미노 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 14500. 테트로미노 (삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G5 | 완전탐색, 구현 5가지 도형을 회전시키거나 대칭시켜서 만들 수 있는 가지수는 19가지이다. 모든 도형의 좌표(0, 0을 기준으로)를 만든다. 주어진 2차원 리스트를 한칸씩 돌면서 그 지점에서 19가지 도형을 겹쳐서 숫자를 탐색한다. 💻소스 코드 import sys input = sys.stdin.readline def go_tetromino(x, y): for tetromino in tetrominos: sum_tet = 0 for _x, _y in tetromino: try: sum_tet += paper[x + _x][y + _y] except IndexError: break else: result.append(sum_tet) if __name__ == '__main__': N,..

    [python] 백준 - 1261. 알고스팟

    [python] 백준 - 1261. 알고스팟

    🤔문제 해결 G4 | 다익스트라(BFS도 가능) 다익스트라 유형으로 되어있지만 BFS도 가능한거 같다. BFS로 풀 면 길을 찾아 갈 때 0이면 그냥 가고 1이면 +1해서 가면 된다. 이 문제는 다익스트라로 풀어봤다. ( 다익스트라와 우선순위큐(힙큐)는 짝꿍 ) 주어진 미로와 같은 크기의 2차원 배열을 만든다. ( 가중치를 업데이트 해줄 배열 ) 0,0 부터 주변을 탐색하며 방(0)이면 비용을 현재비용으로 넣고, 벽(1)이면 비용을 현재비용 +1해서 업데이트 해준다. 업데이트가 된 지점을들 힙큐에 넣고 목적지가 나올 때 까지 위의 과정을 반복한다. 💻소스 코드 import heapq if __name__ == '__main__': N, M = map(int, input().split()) # 문제는 1부..