개발 57

백준 12094: A와 B (Python)

문제수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다.이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과 같은 두 가지 연산만 가능하다.문자열의 뒤에 A를 추가한다.문자열을 뒤집고 뒤에 B를 추가한다.주어진 조건을 이용해서 S를 T로 만들 수 있는지 없는지 알아내는 프로그램을 작성하시오. 해설문제 설명이 단순한 것에 비해 발상이 조금 까다롭게 느껴진 문제다.S를 T로 바꿀 때, 두 가지 연산이 가능하다.문자열의 뒤에 A를 추가한다.문자열을 뒤집고 뒤에 B..

개발/백준 2024.03.02

백준 1932: 정수 삼각형 (Python)

문제 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. 해설 다이나믹 프로그래밍(DP)를 이용해 풀 수 있는 문제다. 위에서부터 아래로, ..

개발/백준 2024.03.02

백준 13549: 숨바꼭질 3 (Python)

문제 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장..

개발/백준 2024.02.29

백준 1305: 광고 (Python)

문제세준이는 길 한가운데에서 전광판을 쳐다보고 있었다. 전광판에는 광고가 흘러나오고 있었다. 한참을 전광판을 쳐다본 세준이는 이 광고가 의미하는 것이 무엇인지 궁금해지기 시작했다.전광판에는 같은 내용의 문구가 무한히 반복되어 나온다. 또, 전광판의 크기는 전광판에서 한번에 보이는 최대 문자수를 나타낸다. 만약 전광판의 크기가 L이라면, 한번에 L개의 문자를 표시할 수 있는 것이다.광고업자는 최대한의 광고효과를 내기 위해서 길이가 N인 광고를 무한히 붙여서 광고한다.예를 들어, 광고 업자 백은진이 광고하고 싶은 내용이 aaba 이고, 전광판의 크기가 6이라면 맨 처음에 보이는 내용은 aabaaa 이다. 시간이 1초가 지날 때마다, 문자는 한 칸씩 옆으로 이동한다. 따라서 처음에 aabaaa가 보였으면 그 ..

개발/백준 2024.02.25

백준 9084: 동전 (Python)

문제우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 1원짜리 30개 또는 10원짜리 2개와 5원짜리 2개 등의 방법이 가능하다.동전의 종류가 주어질 때에 주어진 금액을 만드는 모든 방법을 세는 프로그램을 작성하시오.해설DP를 활용해 푸는 냅색 유형의 문제다.우선, 우리는 이게 왜 DP 문제인지 생각해보아야 한다.  예를 들어, 1원짜리 동전과 2원짜리 동전이 있다.이 동전으로 각각 1원, 2원, 3원을 만드는 상황을 생각해보자. 그러면 다음과 같을 것이다. (1원) 동전을 사용하는 경우, (1원/2원) 동전을 사용하는 경우로 나누어 두 줄..

개발/백준 2024.01.07

Unity Tilemap 타일끼리 겹치는 레이어 문제 해결

상자가 제대로 보이지 않고, 벽이랑 겹쳐 보이는 문제가 발생했다. 가장 떠올리기 쉬운 방법은 타일맵을 또 하나 더 만들어서 Order In Layer 값을 수정해주는 것이겠지만... 고작 박스 하나 안겹치게 한다고 타일맵까지 분리하는건 너무나도 비효율적이다. 유니티 세팅만 만지면 해결될 문제일 것 같아서 열심히 구글링을 해봤다. 1. 프로젝트 세팅 편집 프로젝트 세팅 - Graphics 탭으로 가서 Camera Settings을 변경해주어야 한다. Sort Mode를 Default에서 Custom Axis로 바꾼 후, XYZ 값을 (0, 1, 0) 으로 바꿔준다. 타일맵 상에서 Y값이 더 위에 있는 타일부터 '먼저 렌더링'하게 해주기 위해서이다. 아까같은 경우를 보면, 벽이 박스보다 더 높은 Y위치에 있..

개발/Unity 2023.05.23

Prettier HTML 태그 자동 줄바꿈 해제하기

VS code의 유용한 코드 정리 확장프로그램인 Pretter를 쓰다가 불편함이 생겼다. 그리 길지도 않은 태그를 지맘대로 줄바꿈 정리해버리는 문제였다. 해결방법은 생각보다 단순했다. 우선 익스텐션 모드에서 Prettier를 찾은 다음, 프리티어 확장프로그램의 설정(톱니바퀴) 아이콘을 클릭한다. 그 다음, 우상단을 잘 보면 setting.json파일을 여는 Setting 아이콘이 있다. 이걸 클릭해주자. 그럼 여러 세팅들이 나올텐데, 마지막에 "prettier.printWidth": 200 를 추가해주면 된다. 200줄이 넘어갈때만 줄바꿈 정리해주겠다는 뜻이다.

개발/Web 2022.11.22

백준 2533: 사회망 서비스(SNS) (Python)

문제페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망에서 사람들의 친구 관계는 그래프로 표현할 수 있는데,  이 그래프에서 사람은 정점으로 표현되고, 두 정점을 잇는 에지는 두 정점으로 표현되는 두 사람이 서로 친구 관계임을 표현한다. 예를 들어, 철수와 영희, 철수와 만수, 영희와 순희가 서로 친구 관계라면 이를 표현하는 친구 관계 그래프는 다음과 같다.  친구 관계 그래프를 이용하면 사회망 서비스에서 어떤 새로운 아이디어가 전파되는 과정을 이해하는데 도움을 줄 수 있다. 어떤 새로운 아이디어를 먼저 받아들인 사람을 얼리 아답터(early adaptor)라고 하는데,..

개발/백준 2022.09.07

백준 2143번: 두 배열의 합 (Python)

문제한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오.예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다.T(=5) = A[1] + B[1] + B[2] = A[1] + A[2] + B[1] = A[2] + B[3] = ..

개발/백준 2022.09.05