
문제 요약 C개의 알파벳이 주어지고 L개의 문자로 암호가 구성됩니다. 암호는 다음과 같은 특징을 가집니다. 1. 알파벳이 증가하는 순서대로 배열된다. 2. 최소 1개의 모음을 가지고 있다. 3. 최소 2개의 자음을 가지고 있다. 이 때 가능한 모든 암호를 출력하는 것이 문제이다. 내가 문제 풀 때 생각했던 것 이런 구현 문제는 조건만 순서대로 지켜준다면 답이 나옵니다. 이 문제는 완전 탐색이라 복잡하게 느낄 수도 있지만 Python만의 방식이면 쉽게 풀 수 있다고 느꼈습니다.일단 알파벳을 조합해야하므로 combination을 써야겠다고 생각했고 증가하는 순으로 배열해야하기 때문에 sort도 생각했습니다. 또한 모음을 주의해서 신경써야하므로 따로 선언해놓고 문제를 푼다면 수월하게 풀 수 있다고 생각했습니다..

문제 요약 주어진 입력인 알파벳에 숫자를 대입하여 가장 큰 합을 찾아내는 것입니다. 분류는 브루트포스로 나와있지만 자릿수에 따라 바로바로 수를 대입한다고 생각하면 그리디 알고리즘이라 생각할 수 있습니다. 내가 문제 풀 때 생각했던 것 자릿수에 따른 숫자 대입이라 생각했습니다. 어짜피 6 + 7 이나 7 + 6 이나 같고 178 + 456 이나 158 + 476 이나 결과는 634로 같기 때문에 자릿수가 같을 때의 숫자는 상관 없다고 풀었습니다. 그래서 길이를 기준으로 정렬하고 길이가 가장 긴(= 자릿수가 가장 큰) 단어의 앞자리는 가장 큰 수인 9를 저장하고 앞자리만 없앴습니다. 그 다음으로 길이가 가장 긴 단어의 앞자리는 8을 저장하는 등 소거법으로 문제를 해결했습니다. 1차 풀이 from collec..

이번에 방학을 맞이하면서 알고리즘 준비를 위해 파이썬을 복습할 겸 파이썬으로 백준을 시작했습니다. 학교 에브리타임 이라는 커뮤니티 앱에서 알고리즘 스터디도 개설하여 참여를 시작했죠. 오늘의 문제는 10951번 문제인 A+B 출력하기 입니다. https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 우선 제가 풀었던 코드는 다음과 같습니다. number=map(int,input().split(' ')) print(number[0]+number[1]) 오류 내용을 보시면 map 함수에서 오류가 났네요. 그럼 제가 map 함수를 잘못 쓴 것 일까요? map 함수는 리..
- Total
- Today
- Yesterday