본문으로 바로가기

Daim's blog

네비게이션

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

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

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

Python으로 푸는 백준 7576. 토마토

백준 7576. 토마토문제는 제시된 조건에 따라 토마토가 익어간다고 했을 때이미 모든 토마토가 익어있으면 0을, 토마토가 모두 익지는 못하는 상황이면 -1을 출력하고그 외의 경우에는 모든 토마토가 익으려면 며칠이 걸리는지 그 최소 일수를 구하도록 해야 한다.유사한 문제로 LeetCode 994. Rotting Oranges도 있다.백준에서 푼 문제 리스트 보기github에서 코드 보기문제 조건상자의 일부 칸에는 토마토가 들어 있지 않을 수도 있다(즉, 아직 안익은 토마토를 빈칸이 둘러쌓은 경우에는 토마토가 익지 않을 수도 있다)이미 모든 토마토가 익어있을 경우에는 0을 출력해야 한다.익은 토마토가 하나도 없는 경우에는 애초에 토마토가 모두 익지 못하는 상황이므로 -1을 출력해야 한다.문제를 틀렸다면 체크..

온라인 코딩 테스트 문제 풀이/백준 문제 풀이 2019. 3. 7. 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으로 푸는 백준 1697. 숨바꼭질

백준 1697. 숨바꼭질수빈이와 수빈이의 동생이 숨바꼭질을 하고 있다. 수빈이가 걷거나 순간이동을 하여 동생을 찾아낼 수 있다.가장 최소한의 움직임으로 동생을 찾을 수 있는 경우가 몇 초 후인지 알아낼 수 있도록 코드를 구현해보자.백준에서 푼 문제 리스트 보러 가기백준에서 문제 보기github에서 코드 보기문제 조건수빈이는 걷거나 순간이동을 할 수 있다.- 수빈이의 현재 위치를 X라고 했을 때, 걷는다면 1초 후 (X - 1) 혹은 (X + 1)에 위치한다.- 수빈이의 현재 위치를 X라고 했을 때, 순간이동을 한다면 1초 후 2*X에 위치한다.문제 풀이숫자가 써 붙여진 10만개의 방을 오가면서 수빈이와 수빈이의 동생이 숨바꼭질을 하고 있다고 생각하고 문제를 푼다. 수빈이가 현재 있는 위치 X에서 이동할 ..

온라인 코딩 테스트 문제 풀이/백준 문제 풀이 2019. 3. 5. 16:00

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

Python으로 푸는 SW Expert Academy 1824. 혁진이의 프로그램 검증

SW Expert Academy 1824. 혁진이의 프로그램 검증문제에서는 혁진이가 만든 혁어셈블리어를 이용해 만든 프로그램을 검증하는 함수를 구현해야 한다.수행 명령에 따라 2차원 배열을 이동하면서 프로그램이 실행을 정지하는 '@'문제에 도달할 수 있는지 알아보자삼성 SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 조건혁진이가 만든 명령어에 따라 명령을 수행한다.만약 다음 이동이 2차원 격자의 바깥으로 이동하는 방향이라면, 반대편에 있는 위치로 이동한다.혁셈블리어에는 메모리가 단 하나 있으며, 0에서 15사이의 정수를 하나 저장할 수 있다.가장 처음에는 0이 저장되어 있으며 오른쪽으로 먼저 이동한다. 문자수행 명령 이동 방향을 오른쪽으로 바꾼다. ^ 이동 방향을 위..

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

Python으로 푸는 SW Expert Academy 1209. Sum

SW Expert Academy 1209. 은 가로, 세로, 대각선 방향으로의 합이가장 큰 경우를 반환하는 문제이다.어렵지 않게 쉽게 풀 수 있다.SW Expert Academy에서 푼 문제 리스트 보기github에서 코드 보기문제 풀이이 문제는 반복문만 많이 사용하면 충분히 문제를 풀 수가 있다. 다만 문제를 풀 때, 최대한 시간 복잡도를 줄이려고 노력하면서 풀면 더 재미있게 풀 수 있다.파이썬 코드12345678910111213141516171819202122232425262728293031323334353637383940def sumArray(array): max, vr, vl = 0 , 0, 0 for i in range(0, num): vr += array[i][i] vl += array[num..

온라인 코딩 테스트 문제 풀이/삼성 SW Expert 문제 풀이 2019. 2. 25. 23:30
  • 이전
  • 1
  • ···
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 다음

사이드바

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

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

CALENDAR

«   2025/11   »
일 월 화 수 목 금 토
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

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 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바