728x90

전체 글 306

[백준 14503번] 로봇 청소기 (Python)

> 파이썬, 구현, 시뮬레이션 📖 문제 : 로봇 청소기 (Python) 로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 방은 NxM 크기의 직사각형으로 나타낼 수 있으며, 1×1 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다. 방의 각 칸은 좌표 (r, c)로 나타낼 수 있고, 가장 북쪽 줄의 가장 서쪽 칸의 좌표가 (0, 0), 가장 남쪽 줄의 가장 동쪽 칸의 좌표가 (N-1, M-1)이다. 즉, 좌표 (r, c)는 북쪽에서 (r+1)번째에 있는 줄의 서쪽에서 (c+1)번째 칸을 가리킨다. 처음에 빈 칸은 전부 청소되지 않은 상태이다...

[백준 14499번] 주사위 굴리기 (Python)

> 파이썬, 구현, 시뮬레이션 📖 문제 : 주사위 굴리기 (Python) 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 전개도는 아래와 같다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 2 4 1 3 5 6 주사위는 지도 위에 윗 면이 1이고, 동쪽을 바라보는 방향이 3인 상태로 놓여져 있으며, 놓여져 있는 곳의 좌표는 (x, y) 이다. 가장 처음에 주사위에는 모든 면에 0이 적혀져 있다. 지도의 각 칸에는 정수가 하나씩 쓰여져 있다. 주사위를 굴렸을 때, 이동한 칸에 쓰여 있는 수가 0이면, 주사위의 바닥면에 쓰여 있는 수가 칸에 복사된다. 0..

[백준 20056번] 마법사 상어와 파이어볼 (Python)

> 파이썬, 구현, 시뮬레이션 📖 문제 : 마법사 상어와 파이어볼 (Python) 어른 상어가 마법사가 되었고, 파이어볼을 배웠다. 마법사 상어가 크기가 N×N인 격자에 파이어볼 M개를 발사했다. 가장 처음에 파이어볼은 각자 위치에서 이동을 대기하고 있다. i번 파이어볼의 위치는 (ri, ci), 질량은 mi이고, 방향은 di, 속력은 si이다. 위치 (r, c)는 r행 c열을 의미한다. 격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다. 파이어볼의 방향은 어떤 칸과 인접한 8개의 칸의 방향을 의미하며, 정수로는 다음과 같다. 7 0 1 6 2 5 4 3 마법사 상어가 모든 파이어볼에게 이동을 명령하면 다음이 일들이 일어난다. ..

[백준 13458번] 시험 감독 (Python)

> 파이썬, 수학, 사칙연산 📖 문제 : 시험 감독 (Python) 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다. 감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 C명이다. 각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다. 각 시험장마다 응시생들을 모두 감시해야 한다. 이때, 필요한 감독관 수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,0..

순열과 조합 (직접 구현 & itertools 라이브러리)

코테를 준비하고 있는데요 !! 22년도 하반기까지 itertools나 sys와 같은 라이브러리를 사용 못했다고 해서 문의는 드렸으나 일단 직접 구현하는 방식으로 그냥 외워둬야겠어요 BFS를 활용한 순열 💭 N = 3 arr = [1, 2, 3] sel = [0] * N check = [0] * N result = [] def perm(idx): global result if idx == N: print(sel) else: for i in range(N): if check[i] == 0: sel[idx] = arr[i] check[i] = 1 perm(idx+1) check[i] = 0 perm(0) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]..

[백준 20055번] 컨베이어 벨트 위의 로봇 (Python)

> 파이썬, 구현, 시뮬레이션 📖 문제 : 컨베이어 벨트 위의 로봇 (Python) 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부터 2N까지의 번호가 매겨져 있다. 벨트가 한 칸 회전하면 1번부터 2N-1번까지의 칸은 다음 번호의 칸이 있는 위치로 이동하고, 2N번 칸은 1번 칸의 위치로 이동한다. i번 칸의 내구도는 Ai이다. 위의 그림에서 1번 칸이 있는 위치를 "올리는 위치", N번 칸이 있는 위치를 "내리는 위치"라고 한다. 컨베이어 벨트에 박스 모양 로봇을 하나씩 올리려고 한다. 로봇은 올리는 위치에만 올릴 수 있다. 언제든지 로봇이 내리는 위치..

[백준 12100번] 2048(Easy) (Python)

> 파이썬, 구현, 브루트포스 알고리즘, 시뮬레이션, 백트래킹 📖 문제 : 2048(Easy) (Python) 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다) 의 경우에서 위로 블록을 이동시키면 의 상태가 된다. 여기서, 왼쪽으로 블록을 이동시키면 의 상태가 된다. 의 상태에서 블록..

[Android] Playstore에 어플 출시하기

​ ​ ​ [ 목차 ] ​ 1. Flutter app 이미지 변경 2. Flutter app 이름 변경 3. Package 이름 변경 4. App 버전 확인 5. 앱 권한 설정 (필요시!) 6. 키스토어 서명서 생성 7. key.properties 파일 생성 8. key.properties 파일 참조를 위한 app/build.gradle 파일 수정 9. 앱 난독화를 위한 proguard 파일 생성 10. 마지막 ' 앱 번들 생성 ' ! ​ ​ ​ ​ (1) flutter app 이미지 변경 🐻 ​ ​ android > app > src > main > res > mipmap-* 로 이동 ​ 위에 표시된 mipmap-* 파일들의 이미지들을 바꿔줍니다. 변경할 이미지의 이름을 'ic_launcher.png'..

App/Android 2023.08.31

[백준 11060번] 점프 점프 (Python)

> 파이썬, 다이나믹 프로그래밍, 그래프 이론, 그래프 탐색, 너비 우선 탐색 📖 문제 : 점프 점프 (Python) 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 떨어진 칸으로 한 번에 점프할 수 있다. 예를 들어, 3번째 칸에 쓰여 있는 수가 3이면, 재환이는 4, 5, 6번 칸 중 하나로 점프할 수 있다. 재환이는 지금 미로의 가장 왼쪽 끝에 있고, 가장 오른쪽 끝으로 가려고 한다. 이때, 최소 몇 번 점프를 해야 갈 수 있는지 구하는 프로그램을 작성하시오. 만약, 가장 오른쪽 끝으로 갈 수 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 N(1..

[백준 25918번] 북극곰은 괄호를 찢어 (Python)

> 파이썬, 자료 구조, 그리디 알고리즘, 애드 혹, 스택 📖 문제 : 북극곰은 괄호를 찢어 (Python) 극지 연구소에서 연구 중인 협이는 새로운 북극곰의 특성을 발견했다. 그것은 바로 북극곰이 O와 X를 보면 ()와 )(로 찢어버린다는 것이다. 협이는 이러한 북극곰의 특성을 이용하여 길이 N의 괄호 문자열 S를 만들고자 한다. 북극곰은 낮에 활동을 하기 때문에 낮에 돌아다니는 것은 위험하다. 때문에 협이는 매일 밤마다 활동할 수 있다. 밤에 협이는 문자열이 있으면 그 위에 O 또는 X를 원하는 만큼 놓을 수 있다. 그러면 낮에 북극곰이 와서 문자들을 모두 찢어 놓는다. 예를 들어 이미 문자열 ()()가 있다고 생각해보자. 밤에 문자를 (O)X(O) 다음과 같이 놓아둔다면 하루가 지나 (()))(((..

728x90