본문으로 바로가기

Daim's blog

네비게이션

  • 홈으로
  • 블로그소개
관리자
  • 블로그 이미지
    다임하게

    파이썬으로 다양한 알고리즘 문제를 풀고 정리하는 공간입니다 : )

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

Python으로 푸는 SW Expert Academy 2806. N-Queen

SW Expert Academy 2806. N-Queen체스판에서 퀸은 같은 가로, 세로줄, 대각선에 위치한 체스말을 잡을 수 있다.이러한 특징을 이해하고 각 가로줄마다 퀸을 놓을 수 있는 경우의 수를 알아낼 수 있는 코드를 짜보자삼성 SW Expert Academy에서 푼 문제 보기github에서 코드 보기문제 풀이퀸을 한줄마다 놓을 때, 가로, 세로, 대각선에 위치한 퀸인지 확인한다. 맨 마지막이 될때까지 모든 퀸을 놓을 수 있으면 count를 증가시킨다.모든 경우의 수를 탐색하지만, 퀸을 놓을 수 있는 자리인지를 확인하고 놓을 수 없을 경우에 backtracking하는 방법으로 코드를 짰다.문제에서 다른 예시가 필요할 수도 있어서 아래 남겨두도록 하겠다.n = 1, output : 1n = 2, o..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 12. 23:30

Python으로 푸는 SW Expert Academy 1227. 미로2

SW Expert Academy 1227. 미로2미로에서 시작 점부터 도착점으로 표시된 지점까지갈 수 있는 길이 있는지 판단하는 프로그램을 작성해야 한다.이 문제는 문제와 규모만 다를 뿐 같은 문제이며 에서 주어지는 1차원 배열의 크기가 커지더라도문제가 없도록 코드를 잘 짰다면 무난하게 통과할 수 있다.SW Expert Academy 1226. 미로1 풀이 보기삼성 SW Expert Academy에서 푼 문제 보기github에서 코드 보기문제 조건상하좌우로 이동이 가능하다.시작 지점에서 도착지점까지 도달이 가능한지 여부만 반환하면 된다.문제 풀이도달할 수 있는 모든 지점을 확인하면 된다. 아마 시간 초과를 막기 위해서는 벽인지 아닌지만 구분해서 길일 경우에 그게 도착지점(3)인지를 확인하면 된다.이미 한..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 11. 23:30

Python으로 푸는 SW Expert Academy 1249. 보급로

SW Expert Academy 1249 보급로이 문제는 파괴된 도로를 지나갈 수 없는 트럭이나 탱크가 도착 지점까지 가장 빠른 시간안에 도착할 수 있도록최단 시간 경로를 찾아 파괴된 도로를 수리하여야 한다.얼마나 걸려야 시작지점에서 도착지점에 가장 빨리 도착할 수 있을까.SW Expert Academy에서 푼 문제 보기github에서 코드 보기문제 조건도로가 파여진 깊이에 비례해서 복구 시간은 증가한다.깊이가 1이라면 복구에 드는 시간이 1이라고 가정한다.시간이 적다면 길을 돌아가도 상관 없다. (상하좌우로 이동 가능)문제를 틀렸다면 생각할 상황 길을 돌아가는게 오히려 시간을 절약할 수도 있다. 16010000010100010100010100010100000100 output : 0문제 풀이문제 자체는..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 10. 23:30

Python으로 푸는 SW Expert Academy 1219. 길찾기

SW Expert Academy 1219. 길찾기도시들의 간의 간선 정보가 나와 있고,가는 길의 개수와 상관없이 한가지 길이라도 도시 0 에서 도시 99로 갈 수 있는 길이 존재하는지 확인하는 코드를 구현해야 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건출발점은 0, 도착점은 99로 표현된다.도시 사이의 간선은 일방통행으로 연결되어 있으므로 되돌아오는 것이 불가능하다.그 말은 즉, 도시에 들어갈 순 있어도 나갈 순 없는 도시도 존재할 수도 있다는 말이다. (사이트에 예시로 나와 있는 10번 도시가 그렇다)문제 풀이문제에서는 size 100의 정적배열 2개를 선언하여 각 정점 번호를 주소로 사용하고, 저장되는 데이터는 각 정점에서 도착하는 정점의 번호..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 9. 23:30

Python으로 푸는 SW Expert Academy 1226. 미로1

SW Expert Academy 1226. 미로1문제에서는 미로의 출발점에서 도착점까지 도달할 수 있는지를 확인하도록 구현해야 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제조건2는 출발점, 1은 벽, 0은 길이다.문제 풀이이동할 수 있는 길이라면 모두 탐색해가며 도착지점(3)에 이를 수 있는지 확인해야 한다.출발 지점부터 그 주변에 인접한 상하좌우 지점을 모두 확인하고 더이상 방문하지 않은 정점이 없을 때까지 탐색을 진행하는, 너비 우선 탐색(BFS) 문제이다.while문을 사용해 이동 가능한 다음 지점들을 넣어둔 next_pos 리스트가 모두 비어질 때까지 도착지점(3)이 있는지 탐색을 진행하고next_pos가 비었는데도 도착지점(3)을 찾지 못했을 경..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 6. 23:30

Python으로 푸는 SW Expert Academy 1211. Ladder2

1211. Ladder2문제는 2차원 배열의 0번째 줄부터 99번째 줄까지 가장 적은 칸을 이동하여 도달할 수 있는 시작점을 찾고,그 시작점의 (0, X)의 X 값을 반환할 수 있도록 구현해야 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건문제 조건은 1210. Ladder1 유사하다. 단, 도착 지점이 한 곳이 아니며, 가장 아래 도착지점에 가장 적은 칸을 이동하여 도달한 시작점의 값을 반환하여야 한다.문제 풀이문제는 1210. Ladder1 코드를 조금만 바꾸면 된다. 탐색해야 하는 부분은 도착지점의 모든 지점과 연결된 시작 지점이다.기존 2110. Ladder1의 코드를 응용하기 위해서 모든 도착 지점을 리스트에 넣고 하나씩 꺼내 경로를 탐색한다..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 5. 23:30

Python으로 푸는 SW Expert Academy 1210. Ladder1

SW Expert Academy 1210. Ladder1 문제는 2차원 배열로 표현된 사다리를 타고 내려가서표시된 도착 지점에 도달하는 스타트 지점을 찾아 위치 정보를 반환하도록 구현해야 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건도착 지점은 2로 표시되어 있으며, 0은 길이 아니고, 1이 길이다. 좌우 방향으로 이동 가능한 통로가 나타나면 방향 전환을 해야 한다.문제 풀이어차피 도착 지점에 대응되는 출발점을 찾는 것이므로 모든 출발지점을 다 탐색할 필요 없이, 도착 지점에서부터 출발하여 도달할 수 있는 출발 지점을 찾아 이동하는 코드를 짠다.좌우로 이동이 가능하면 방향을 전환해 위로 다시 이동이 가능할 때까지 그 방향으로 전진해야 한다는 점이 핵..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 4. 23:30

Python으로 푸는 SW Expert Academy 2805. 농작물 수확하기

SW Expert Academy 2805. 농작물 수확하기이 문제는 농장에서 특정 규칙에 맞춰서 수확할 수 있는 범위가 정해져 있고그 규칙에 따라 농작물을 수확했을 때 총 수익이 얼마인지 구할 수 있도록 구현해야 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건- 농장의 크기는 항상 홀수이다. (1 X1, 3 X 3, ....49 X 49)- 수확은 아래와 같이, 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다. 제약 사항농장의 크기 N은 1이상 49 이하의 홀수이다. (1

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 3. 23:30

Python으로 푸는 SW Expert Academy 1206. View

1206. View 문제는 1차원 배열의 문제로,1차원 배열로 주어진 빌딩의 높이를 계산하여왼쪽과 오른쪽 각각에 2 이상의 조망권을 확보한 세대 수를 반환해야 한다.SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건좌우로 2칸 이상의 공백이 존재하는 세대 수를 합해 반환한다.가로는 1000이하로 주어진다. 각 빌딩의 높이는 최대 255이다.맨 왼쪽 두 칸과 맨 오른쪽 두 칸에는 건물이 지어지지 않는다.문제 풀이문제를 이해하면 풀기가 쉽다. 건물이 지어지지 않은 맨 왼쪽 두 칸과 맨 오른쪽 두 칸을 제외하고 빌딩이 지어진 부분인 Index 2부터 i -2의 원소까지 순회한다. i번째 원소의 왼쪽 2개의 원소와 오른쪽 2개의 원소 각각의 최대 값을 찾는다. i번째 원소..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 2. 23:30

Python으로 푸는 SW Expert Academy 1954. 달팽이 숫자

SW Expert Academy 1954. 달팽이 숫자문제에서는 N을 입력받아 N*N 배열에 숫자를 시계방향으로 내부를 감싸듯이 출력해야만 한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 이해하기문제는 다음 표를 보면 바로 이해가 가능하다.배열의 크기를 입력받아 아래의 표처럼 숫자를 입력하여 출력하면 된다.12 3 89 4 76 5 문제 풀이점차 증가하는 숫자는 다음과 같은 경우에 방향을 변화시킨다. 변화하는 방향은 오른쪽- 아래 - 왼쪽 - 위(→·↓·←·↑) 순서이다.- 다음에 숫자를 놓을 위치가 배열의 범위를 벗어 날 경우- 다음에 숫자를 놓을 위치에 이미 숫자를 넣은 경우방향을 변화시키면서 마지막 값(N*N) 숫자를 넣고 난 후 배열을 출력한다.파이..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 3. 1. 23:30

Python으로 푸는 SW Expert Academy 1974. 스도쿠 검증

1974. 스도쿠 검증문제는 스도쿠 조건에 따라숫자가 잘 놓여져 있는지 확인할 수 있도록 검증하는 코드를 짜야한다.삼성 SW Expert Academy에서 푼 문제 리스트 보러 가기github에서 코드 보기문제 조건스토쿠는 숫자퍼즐로 가로 9칸 세로 9칸으로 이루어져 있는 2차원 배열에 1부터 9까지의 숫자를 채워넣는 퍼즐이다.같은 줄에 1에서 9까지의 숫자를 한번씩만 넣고, 3*3 크기의 작은 격자 또한, 1에서 9까지의 숫자가 겹치지 않아야 한다.문제 풀이주어진 테스트 케이스를 모두 통과하려면, 3*3 형태로 나눈 구역에서도 스도쿠의 조건이 충족해야만 모든 테스트 케이스를 통과할 수 있다.가로, 세로 체크하는건 너무 쉽고 3*3 구역을 체크하는게 이 문제의 핵심인데, 사실상 노가다로 9개의 for문을..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 2. 28. 23:30

Python으로 푸는 SW Expert Academy 1204. 최빈수 구하기

SW Expert Academy 1204. 최빈수 구하기 문제에서는 1000명의 수학 성적 중에 학생들이 가장 많이 맞은 점수를 찾아 반환해야 한다.만약 가장 많은 빈도수가 나온 점수가 여러 경우일 경우에는 가장 높은 점수를 반환한다.삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 풀이이 문제는 Python의 내장 메소드를 활용하면 쉽게 문제를 풀 수 있다. python에는 리스트에 존재하는 동일한 원소의 갯수를 세주는 count 메소드가 존재한다.100점부터 0점까지 점수의 빈도수를 계산해보자. 최대 빈도수 max_val_count를 0으로 초기화해두고 해당 빈도수보다 높은 빈도수가 나올 경우에만 max_val과 max_val_count를 바꿔준다. 100부터..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 2. 27. 23:30
  • 이전
  • 1
  • 2
  • 3
  • 다음

사이드바

NOTICE

  • 내 맘대로 파이썬 커리큘럼
  • 삼성 SW Expert Academy 푼 문제 리스트
  • LeetCode에서 푼 문제 리스트
  • 백준에서 푼 문제 리스트
  • 정리한 알고리즘 리스트
  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • 백준
  • SW Expert
  • leetcode 파이썬
  • 삼성 기출 문제
  • Django tutorial
  • python으로 푸는
  • python data structure
  • Tree
  • Dynamic Programming
  • leetcode
  • 파이썬 자료구조
  • 삼성 코딩 테스트
  • leetcode python
  • SW Expert Academy
  • DP
MORE+

CALENDAR

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT Daim's blog, ALL RIGHT RESERVED.
Daim's blog
블로그 이미지 다임하게 님의 블로그
MENU
  • 홈으로
  • 블로그소개
CATEGORY
  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바