본문 바로가기

공부/알고리즘, 백준21

[개발 공부] 백준 26560 C++ https://www.acmicpc.net/problem/26560 #include #include using namespace std;int main() { int n; cin >> n; cin.ignore(); for (int i = 0; i 2024. 6. 24.
백준 SUAPC 2023 Summer C++ 풀이 https://www.acmicpc.net/problem/31429 31429번: SUAPC 2023 Summer SUAPC 2023 Summer에서 $N$등을 한 팀이 푼 문제 수와 푼 문제들의 페널티의 합을 공백으로 구분하여 출력한다. www.acmicpc.net #include using namespace std; int main() { int score[] = {12, 11, 11, 10, 9, 9, 9, 8, 7, 6, 6}; int penalty[] = {1600, 894, 1327, 1311, 1004, 1178, 1357, 837, 1055, 556, 773}; int n; cin >> n; // 사용자로부터 n 값을 입력받음 // n-1 인덱스를 사용하여 해당하는 score와 penalt.. 2024. 3. 16.
백준 유튜브 보고 공부한거 https://www.youtube.com/watch?v=YWuIW-Rhf7w https://www.youtube.com/watch?v=0XMqs7qi-xc 2023. 8. 7.
c++ 에서 return 0 을 안하면 main 함수에서 return 0을 생략하면, 프로그램이 정상적으로 실행되지 않을 수 있습니다. C++11 표준부터는 main 함수에서 return문을 생략할 수 있습니다. return문이 생략되면, 컴파일러는 자동으로 return 0을 추가하여 코드를 완성합니다. 따라서 현대의 C++ 표준을 사용하는 경우에는 return 0을 생략하더라도 프로그램은 정상적으로 종료됩니다. 그러나 이전의 C++ 표준을 사용하는 경우에는 main 함수에서 return문을 생략하면 정의되지 않은 동작(Undefined Behavior)이 발생할 수 있습니다. 이 경우, 프로그램이 예기치 않은 방식으로 작동하거나 중단될 수 있으므로 return문을 명시적으로 작성하는 것이 좋습니다. 결론적으로, 현대의 C++ 표준을 사용하는.. 2023. 7. 25.
백준 23738번 Ресторан C++ 백준 주소: https://www.acmicpc.net/problem/23738 23738번: Ресторан 최대 $100$글자의 단어가 주어진다. 모든 글자는 영어 대문자 A, B, E, K, M, H, O, P, C, T, Y, X 중 하나로 이루어져 있다. 입력이 러시아어 대문자로 주어지지 않음에 주의하자. www.acmicpc.net 아이디어: 러시아러를 해당하는 알파벳으로 바꿔준 후에 소문자로 바꿔주었다. #include #include using namespace std; int main() { string word; cin >> word; string result = ""; for (char c : word) { if (c == 'B') result += "v"; else if (c == .. 2023. 7. 4.
알고리즘 tip - for문에서의 <,> for문에서 기호는 반복 범위를 지정하는 데 사용됩니다. 이 두 기호를 헷갈리는 경우에는 다음과 같은 팁을 참고하실 수 있습니다: 반복 범위가 증가하는 경우( 사용): 초기값을 큰 값으로 설정하고, 목표값을 작은 값으로 설정하여 감소하는 반복 범위를 표현합니다. 예를 들어, for i in range(5, 0, -1)는 5부터 1까지 감소하는 반복 범위를 나타냅니다. 2023. 7. 3.
백준 2711번 C++ 백준 주소: https://www.acmicpc.net/problem/2711 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1 cnt; for (int i = 0; i > num >> wrong; for (int i = 0; i < wrong.length(); i++) { if (i != num - 1) { cout 2023. 7. 2.
백준 28295번 C++ 아이디어: 4로 나눈 나머지를 구하는 이유는 방향을 나타내는 숫자가 0에서 3 사이의 값이어야 하기 때문입니다. 즉, 방향은 북쪽(0), 동쪽(1), 남쪽(2), 서쪽(3)으로 순환됩니다. 예를 들어, 현재 방향이 북쪽(0)이고 지시가 오른쪽으로 돌기(1)라면 새로운 방향은 동쪽(1)이 됩니다. 이는 **(0 + 1) % 4**로 계산할 수 있습니다. 마찬가지로, 현재 방향이 동쪽(1)이고 지시가 오른쪽으로 돌기(1)라면 새로운 방향은 남쪽(2)이 됩니다. 이는 **(1 + 1) % 4**로 계산할 수 있습니다. 따라서 4로 나눈 나머지를 구하는 것은 방향을 나타내는 숫자가 0에서 3 사이의 값이 되도록 하기 위한 것입니다. **current_direction + 1**을 하는 이유는 지시가 오른쪽으로 .. 2023. 7. 2.
백준 25311 UCPC에서 가장 쉬운 문제 번호는? C++ 아이디어: 문제가 말이 많다. 문제를 읽어보면 그냥 A가 가장 쉽다는 것을 알 수 있다. #include using namespace std; int main() { cout 2023. 6. 28.