본문 바로가기

전체 글101

웹 프로그래밍 기초 2일 오늘은 갑자기 강화 시뮬레이터 이런게 만들어보고 싶어졌다.'웹에 만들면 좀 재밌을까' 싶었는데 훨씬 재밌는 것 같다.UI 만들 생각을 따로 안해도 돼서 좋고, 사지방이라는 한정적인 곳에서 비교적 덜 노력해도 더 이쁜 퀄리티를 뽑아낼 수 있기 때문이다.   240519 : 75% 확률로 +1이 되고 실패하면 0으로 초기화 된다. 2024. 5. 19.
웹 프로그래밍 기초 1일 chatGPT와 코드잇 강의를 보며 공부.개인적으로 HTML - CSS - JS 순으로 공부하는게 좋을 것 같아서 HTML, CSS를 병행하고 JS는 차차 공부해볼 생각.우선, 평소에 궁금해 했던 내용들 먼저 질문 1.Q. html에선 태그를 왜 붙여야할까?A. 가독성, 유지보수도 있지만 검색엔진에 효과적으로 노출될 수 있음. SEO(검색 엔진 최적화)는 웹사이트가 검색 결과에 더 잘 보이도록 최적화하는 과정 이라고 함. 2.Q. 이 부분에서 으로 수정했더니, css파일이 제대로 링크되지 않았어. 'rel'이 의미하는건 무엇이고, rel에는 정해진 이름들로만 대입해야하는거야?A. 네, rel 속성은 HTML 문서와 외부 리소스의 관계를 정의하는 속성입니다. rel 속성에 사용되는 값은 미리 정의된 값.. 2024. 5. 18.
[G4] 백준 12970 - AB (Python3) https://www.acmicpc.net/problem/12970풀이 아이디어문자열의 길이에 따라 A와 B로 만들 수 있는 조합의 최대 개수가 정해져있다. 직접 여러 길이의 문자열을 만들어가며 풀이할 때 알게 된 특징이다.길이가 10인 문자열로 만들 수 있는 조합의 최대 개수는 AAAAABBBBB로, 5*5=25개이다.길이가 11인 문자열로 만들 수 있는 조합의 최대 개수는 AAAAAABBBBB → 5*6=30 or AAAAABBBBBB → 6*5=30길이가 30인 문자열로 만들 수 있는 조합의 최대 개수는 15A15B → 15*15=225최대 개수의 공식은 $ \lfloor\frac{N^2}{4}\rfloor $ 이다. 그렇다면 최소 개수는 몇 개일까? 당연히 0개이다. 모든 길이에 대해서 A 혹은 .. 2024. 5. 4.
[G5] 백준 11729 - 하노이 탑 이동 순서 (Python3) https://www.acmicpc.net/problem/11729풀이 아이디어재귀적인 방법을 사용하여 하노이 탑 문제를 해결합니다. 첫 번째 장대에 있는 원판들을 세 번째 장대로 옮기는 과정에서 아래의 과정을 반복한다.n-1개의 원판을 두 번째 장대로 옮긴다.가장 큰 원판을 첫 번째 장대에서 세 번째 장대로 옮긴다.두 번째 장대에 있는 n-1개의 원판을 세 번째 장대로 옮긴다.초기 상태의 가장 큰 원판을 목표하는 곳(세 번째 장대)으로 옮기고나면, 다시 두 번째 장대의 n-1개의 원판을 첫 번째 장대로 옮겨서 n-1번째로  큰 원판을 세 번째로 옮긴다.풀이👀재귀 함수 hanoi_tower를 정의한다. 이 함수는 매개변수로 원판의 개수 n, 출발지 기둥 frm, 보조 기둥 tmp, 목표 기둥 to를 받.. 2024. 5. 4.
[S1] 백준 2156 - 포도주 시식 (Python3) https://www.acmicpc.net/problem/2156풀이 아이디어DP 테이블을 사용하여 각 잔을 선택하는 경우와 선택하지 않는 경우 등을 나누어 최대값을 갱신한다.풀이👀포도주 잔이 1개일 때는 그대로 마시는 것이 최대값이므로 DP tabel의 0번째 인덱스의 초기값으로 설정한다.포도주 잔이 2개일 때는 첫 번째 잔과 두 번째 잔을 모두 마실 수 있으므로 두 잔의 양을 더한 값을 최대값으로 설정한다.포도주 잔이 3개 이상일 때는 연속으로 3잔을 마실 수 없기 때문에 경우를 나누어 최대값을 갱신한다.case1)  i번째 잔을 마시지 않는 경우: d[i-1]case2)  i-1번째 잔을 마시지 않고 i번째 잔을 마시는 경우: d[i-2] + wine[i]case3)  i-1번째 잔과 i번째 잔을.. 2024. 4. 28.
[S1] 백준 1149 - RGB거리 (Python3) https://www.acmicpc.net/problem/1149풀이 아이디어동적 계획법(DP, Dynamic Programming) 알고리즘으로 해결한다.각 집의 Red, Green, Blue 으로 색칠하는 비용이 주어졌을 때, 각 집을 칠할 때의 최소 비용을 계산한다. 이때 DP table을 이용해서 이전 집까지의 최소 비용을 가지고 현재 집을 칠할 때의 최소 비용을 구한다.풀이👀'현재 위치(i번째 집)에 대해서 전 후가 다른 색깔의 집이어야 한다.'는 조건이 걸려있다. 쉽게 풀어 설명하면 '연속해서 같은 색을 칠하지 말라'는 조건이다. 1. 첫 번째 집부터 마지막 집까지 반복하면서, 이전 까지의 최솟값으로 현재 집을 색칠할 때 최소 비용을 계산한다.코드🐱‍👓N = int(input())RGB .. 2024. 4. 28.
[S1] 백준 1932 - 정수 삼각형 (Python3) https://www.acmicpc.net/problem/1932해결방법정수 삼각형의 맨 아래층부터 위층으로 올라간다. 각 행의 원소를 순회하면서, 현재 위치의 정수와 현재 위치의 왼쪽 아래 정수와 오른쪽 아래 정수 중 더 큰 값과의 합을 DP table에 저장한다. ( max(왼쪽아래 정수, 오른쪽아래 정수) + 현재위치 정수 )풀이👀주어진 정수 삼각형에서 아래층부터 위층으로 올라가며 각 행의 원소를 순회한다.각 행의 원소를 순회하면서 현재 위치의 정수에 다음 행(아래층)의 왼쪽 대각선 정수와 오른쪽 대각선 정수 중 더 큰 값을 더해가며 최대 합을 계산한다.모든 행을 순회하면서 이를 맨 위층까지 반복한다.최종적으로 맨 위층의 최대 합을 반환한다.코드🐱‍👓n = int(input())triangle.. 2024. 4. 27.
[G3] 백준 11779 - 최소비용 구하기 2 (Python3) https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 문제 n(1≤n≤1,000)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1≤m≤100,000)개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. 그러면 A번째 도시에서 B번째 도시 까지 가는데 드는 최소비용과 경로를 출력하여라. 항상 시작점에서 도착점으로의 경로가 존재한다. 입력 첫.. 2023. 12. 16.