전체 글 163

[BOJ] 1339번 : 단어 수학

🔒 문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어..

카테고리 없음 2023.02.22

[BOJ] 1092번 : 배

🔒 문제 지민이는 항구에서 일한다. 그리고 화물을 배에 실어야 한다. 모든 화물은 박스에 안에 넣어져 있다. 항구에는 크레인이 N대 있고, 1분에 박스를 하나씩 배에 실을 수 있다. 모든 크레인은 동시에 움직인다. 각 크레인은 무게 제한이 있다. 이 무게 제한보다 무거운 박스는 크레인으로 움직일 수 없다. 모든 박스를 배로 옮기는데 드는 시간의 최솟값을 구하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보다 작거나 같은 자연수이다. 넷째 줄에는 각 박스의 무게가 주어진다. 이 값도 1,000,000보다 ..

[Python] 수 자료형

수 자료형 정수형 : 정수형(Integer)은 정수를 다루는 자료형 ex) 양의 정수, 음의 정수, 0 +) 코딩 테스트에서 출제되는 많은 문제들은 정수형을 주로 다룸 # 양의 정수 a = 1000 print(a) #음의 정수 a = -7 print(a) # 0 a = 0 print(a) 1000 -7 0 실수형 : 실수형 (Real Number)은 소수점 아래의 데이터를 포함하는 수 자료형 (1) python에서 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리됨 (2) 소수부가 0이거나, 정수부가 0인 소수는 0을 생략하고 작성 가능 #양의 실수 a = 157.93 print(a) #음의 실수 a = -1837.2 print(a) #소수부가 0 일때 0..

[Python] 자료형

자료형 모든 프로그래밍은 결국 데이터를 다루는 행위 : 자료형에대한 이해는 프로그래밍의 길에 있어서 첫걸음 python의 자료형으로는 정수형, 실수형, 복고구혀, 문자열, 리스트, 튜플, 사전 등이 있음 : 파이썬의 자료형은 필수적으로 알아 두어야 함 => python에서 기본적으로 제공하는 자료형의 기능이 다양하고 매우 강력 => 따라서 자료형만 제대로 알아도 프로그래밍 가능 ex) python의 list 자료형 c++의 vector라이브러리 java의 array list 라이브러리 위의 두가지 라이브러리에서 제공하는 기능들을 이미 가지고 있어서 별도의 표준 라이브러리를 불러오지 않아도 다른 언어의 라이브러리에서 지원하는 강력한 기능들 쉽고 간결하게 사용 가능

알고리즘 성능 평가

1. 복잡도(Complexity) 1) 복잡도는 알고리즘의 성능을 나타내는 척도 시간 복잡도 : 특정한 크기의 입력에 대하여 알고리즈므이 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 2) 동일한 기능을 수행하는 알고리즘이 있다며느 일반적으로 복잡도가 낮을수록 좋은 알고리즘 Q. 코드가 복잡하다 ≠ 복잡도 ⇒ 복잡도는 함수의 성능에 관련된 것 3) 시간 복잡도가 높다는 것은 알고리즘의 실행 속도가 느리다 (수행시간 오래걸림) 4) 공간 복잡도가 높다는 것은 많은 메모리가 필요하다는 것 ⇒ 기능적으로는 복잡도가 낮을 수록 좋은 알고리즘 2. 복잡도 표기법 1) 빅오 표기법 가장 빠르게 증가하는 항 만을 고려하는 표기법 ⇒ 함수의 상한만을 나타내게 됨 ex) 3N^..

CS/알고리즘 2023.02.10

[BOJ] 2631번 : 줄세우기

문제 바로가기 => 줄세우기 🔒 문제 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 수를 최소로 하려고 한다. 예를 들어, 7명의 아이들이 다음과 같은 순서대로 줄을 서 있다고 하자. 3 7 5 2 6 1 4 아이들을 순서대로 줄을 세우기 위해, 먼저 4번 아이를 7번 아이의 뒤로 옮겨보자. 그러면 ..

[BOJ] 9251번 : LCS

문제 바로가기 => LCS 🔒 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. ⌨ 입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다. 🖨 출력 첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다. 📚 예제 Ex) ACAYKP CAPCAK 4 📌 풀이 arr1과 arr2에 각각 문자열을 저장해준다. arr1의 문자열 길이를 n, arr2의 문자열 길이를 m으로 둔다. 조심해야할 점은 '\n'까지 문자열로 ..

[BOJ] 11053번 : 가장 긴 증가하는 부분 수열

문제 바로가기 => 가장 긴 증가하는 부분 수열 🔒 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. ⌨ 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 🖨 출력 첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 📚 예제 6 10 20 10 30 20 50 Ex) 4 📌 풀이 1번 풀이 (O(n^2)) *dp[ N ] = 0 ~ N - 1 인덱스에 저..

티스토리 오디세이(Odyssey)스킨에 상단바 고정하기 (feat. 상단바에 그림자 효과)

티스토리 블로그 관리 -> 왼쪽 메뉴 꾸미기 -> 스킨 편집 html 편집 클릭 ctrl + f 누르고 header 1) 상단바 고정 왼쪽 사진에서 오른쪽 사진으로 코드를 수정 => 상단바 고정 이라는 주석 아래의 코드 3줄! /* header */ 아래에 있는 코드를 밑의 코드 블럭으로 바꿔준다. 그림자 효과는 뭔가 너무 단조로워보여서 넣어준 것이다. 넣고싶으면 넣고 싫으면 그냥 코드를 빼버리면 된다. 헷갈릴까봐 상단바 고정부분 말고 그낭 .header 전체의 코드를 적어놓았다. 상단바가 계속 상단에 고정되어 있어야하기 때문에, position이 relative에서 fixed로 바뀌었고, 상단바가 가장 최상위에 있어야 하기 때문에 만약의 경우에 대비해 가장 최상단이 되도록 z-index를 999로 줬다..