삼성

    [python] SWEA - 13547. 팔씨름

    [python] SWEA - 13547. 팔씨름

    🤔문제 해결 내가 이긴 횟수와 남은 게임의 횟수를 구한다. 그 둘의 합이 8보다 크면 내가 이길 가능성이 있으므로 답은 YES 💻소스 코드 T = int(input()) # 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다. for test_case in range(1, T + 1): print(f'#{test_case}', end=' ') game_result = input() win_cnt = 0 for result in game_result: if result == 'o': win_cnt += 1 rest_game = 15 - len(game_result) if win_cnt + rest_game >= 8: print('YES') else: print('NO') 📕문제 확인 출처: SW Exp..

    [python] 백준 - 13458. 시험 감독 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 13458. 시험 감독 (삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 B2 | 수학 간단한 수학문제이다. ( 진짜 기출문제 맞나? ) 한 반에 감독관은 무조건 1명있어야한다. 한 반의 응시생이 감독관이 감시할 수 있는 응시생보다 많다면 부감독관을 투입한다. 감독관이 감시할 수 있는 응시생을 뺀 나머지 응시생을 부감독관들이 감시할 수 있게 한다. 💻소스 코드 import sys import math input = sys.stdin.readline if __name__ == '__main__': N = int(input()) # 시험장의 개수 A = list(map(int, input().split())) # 각 시험장의 응시자 수 B, C = map(int, input().split()) # B: 감독관이 감시할 수 있는 응시자 수, 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] 백준 - 3190. 뱀 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 3190. 뱀 (삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G5 | deque, 시뮬레이션 deque 를 이용하여 뱀을 만든다. deque의 앞쪽은 꼬리, deque의 뒷쪽은 머리 (반대로 해도 상관없음) 머리를 방향에 따라 한칸 늘린다.(deque에 머리 추가: append()) 벽에 부딪히지 않고, 뱀의 몸통에 부딪히지 않으면 통과 이 때 머리의 위치에 사과가 있으면 통과 없으면 꼬리를 줄인다.( deque에서 꼬리를 제거: popleft()) 매초 세주면서 해당 초에 오더가 있으면 ( 방향 바꾸기 ) 진행 방향을 바꿔준다. 주의: 사과를 먹으면 맵에서 사과 지우기 💻소스 코드 from sys import stdin from collections import deque input = stdin.readline def move_snake(direc..

    [python] 백준 - 16234. 인구 이동(삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 16234. 인구 이동(삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G5 | 시뮬레이션, BFS 1. 연합을 찾는다. 현재위치와 인접한 위치의 값의 차이가 조건에 맞으면 연합리스트에 넣어줬다. (BFS) 2. 만약 연합이 없으면 끝 3. 연합이 있으면 연합 내에서 인구 이동을 한다. 연합의 모든 인구의 평균값으로 바꿔준다. 4. (1,2,3)을 반복한다. while문으로 2번이 나올때까지 돌린다. 💨 시간초과가 나서 pypy로 돌렸더니 통과!!! 파이썬은 항상 느려서 이젠 그러려니 한다. 아니면 뭔가 더 좋은 방법이 있는 것 같다. 찾아보니 인접리스트를 활용해서 하는 방법도 있지만.... 나중에 도전해보겠다. 💻소스 코드 from _collections import deque def move_population(union_list): for union in ..

    [python] SWEA - 7701. 염라대왕의 이름 정렬

    [python] SWEA - 7701. 염라대왕의 이름 정렬

    문제 해결 1. D4 - 정렬 2. sorted를 사용하면 쉽게 해결할 수있다 3. 먼저 이름의 길이순으로 정렬하고 4. 두번째로 이름의 길이가 같을 때 이름의 알파벳 순서대로 정렬한다. ✌ sorted() 함수에 대해서 알아보자. sorted 함수는 배열을 정렬하는 기능을 가지고 있다. 이 함수를 기본값으로 쓰게 되면 정렬된 배열을 반환한다. a = [6, 3, 4] b = sorted(a) # 첫번째 인자로 정렬할 리스트를 넣어준다. print(b) # [3, 4, 6] sorted의 두번째 인자로는 정렬하는 방법을 설정할 수 있다. 기본값으로는 우리가 흔히 알고 있는 1,2,3 a,b,c 오름차순 정렬이다. a = [(1,5), (2, 4), (2, 3)] print(a) # [(1, 5), (2,..