본문 바로가기

백준13

백준 9086 c++/python 풀이 최근 python을 다시 해야하는 일이 생겨서 손풀이 겸 같이 해봅니다. 기초 수준의 문제네요. 간단한 인덱싱 문제였습니다. python 코드입니다. t = int(input()) result = [] for i in range(t): s = input() result.append(s[0]+s[-1]) for i in range(len(result)): print(result[i]) 특별히 설명할 것은 없지만 그래도 가끔 제가 까먹는 것을 설명드리자면 result.append(s[0]+s[-1]) 부분에서 -1은 마지막 부분을 뜻합니다. 0이 시작이니 당연하기도 하지만 다음은 c++코드입니다. #include using namespace std; int main(){ int t; string s; cin.. 2024. 3. 30.
백준 5597 c++ 풀이 이번 문제는 간단한 문제입니다. 하지만 2일동안 했다는... 방식 하나만 알면 정말 간단한 문제였습니다. 문제를 보시면 출석번호를 구하는 것이기에 자연수입니다. 그래서 index의 0을 제외하고 30개를 만들기 위해 31개의 범위를 가진 배열을 만들었습니다. 그리고 이제 해야할 것은 제출한 학생과 제출하지 않은 학생을 구별하는 것입니다. 물론 진짜로 1,2,3,4,5,6,... 다 해서 각각 계산할 수 있습니다. 제가 그렇게 해서 2틀을 날렸지만 가능할겁니다. 하지만 그렇게하면 비효율적인데다가 복잡할겁니다. 그 방식은 리스트 값만을 사용하기 때문이죠. 하지만 리스트에는 index라는 값도 있습니다. 그리고 이 문제에서 index는 몇 번째인지도 나타낼 수도 있죠. 그래서 모든 값에 0을 넣고 부른 학생들.. 2024. 3. 16.
백준 10813 c++ 풀이 이번 문제는 10810 문제와 굉장히 비슷하지만 더 어려워진 문제였습니다. 전 엉뚱한 곳에서 시간을 계속 썼네요. 대충 30분 정도면 풀릴 정도의 난이도인 문제였습니다. 정답을 보고싶으신 분들은 맨 아래로 내리시면 답이 있습니다. 서론은 여기까지 하고 문제 설명을 간략하게 하겠습니다. 바구니 N개에 각각 1~N까지 번호가 매겨져 있다. 모든 바구니에는 공이 1개씩 들어있고, 처음엔 바구니의 번호와 일치하다. 앞으로 M번 공을 바꾸려고 한다. 바꿀 바구니를 2개 선택 후 두 바구니에 있는 공을 교환하는 형식이다. M번 바꾼 이후 두 바구니에 들어있는 공을 구하는 프로그램을 구하시오. 첫 번째 시도) std를 너무 쓰다보니까 가끔 까먹어서 이번엔 namespace를 안쓰고 해보았습니다. 확실히 알고리즘 문제.. 2024. 3. 6.
백준 2562 c++ 풀이 최댓값 문제네요. 이번 풀이는 실패 코드도 포함되어있으니 정답을 보고싶으신 분들은 앞 내용은 스킵해주시길 바랍니다. 그럼 시작하겠습니다. 첫 번째 시도) 간단해보여서 바로 시도했습니다. 틀렸다고 떠서 굉장히 당황했습니다. 우선 제가 시도한 방법을 설명드리자면 최댓값을 우선 임의의 값으로 대입합니다. 그 이후에 배열을 돌아가며 더 큰 숫자가 나오면 초기화하는 방법으로 하였습니다. 방법에는 문제가 없다고 여겨서 출력 부분을 자세히 보니 이곳에 틀린 점이 있었습니다. 줄 바꿈을 안 했던 것이 패착이었습니다. 그래서 바로 고쳐주고 다시 시도하였습니다. 두 번째 시도) 또 틀렸다고 떠서 굉장히 당황했습니다. 여기서 한 5분간 머리를 싸맸었습니다. 하지만 이번에도 문제에 답이 있었습니다. 몇 번째 수인지 출력한다에.. 2024. 2. 21.