본문 바로가기

백준3

백준 7단계 - 문자열 1) #11654 아스키코드 ㄱㅊ c - '0' => 숫자 , 숫자 + '0' => c 2) #11720 숫자의 합 ㄱㅊ 문자열로 입력받아 각 문자별로 숫자로 바꿔 sum구하기 3) #10809 알파벳 찾기 ㄱㅊ c - 'a' => 소문자 알파벳 순서 memset(주소, 바꿀 값, 크기) string.h에 포함되어 있음 4) #2675 문자열 반복 ㄱㅊ 5) #1157 단어 공부 피곤.... 실수를 너무 많이함.. 오류케이스: bbaannnnnn max값 찾을 때 max보다 클 때는 max와 maxi를 갱신시켜주고 max와 같을 때는 무조건 "?"출력하고 return되게 했는데, 이 경우 알파벳 배열상 앞쪽 문자에서 빈도수가 겹치는 경우가 나오고 가장 많이 나온 문자는 그 뒤 쪽 문자이면 올바로 출력 안.. 2021. 1. 29.
백준 6단계 - 함수 1) #15596 정수 N개의 합 ㄱㅊ 2) #4673 셀프 넘버 ㄱㅊ 흠 더 최적화 시킬 수 있는 방법 나중에 찾아보기 일단 지금은 for문 돌면서 각각 d(n) 찾고 배열에 갱신 시킨 다음 또 for문 돌면서 1아닐 때 프린트 함. 3) #1065 한수 꽤 오래 걸림.. 자릿수가 더 많아질 때까지 생각해서 풀었는데 앞으로는 그냥 제한 조건을 최대한 활용하는 쪽으로 풀어봐야겠음. 그래서 수정 -> 제한 조건이 1000보다 작거나 같은 입력이니까, 100의 자리에서 10의 자리 뺀 것, 10의 자리에서 1의자리 뺀 것만 비교해 주면 됨. 이 때 예외처리로 두자리수일 때 ->무조건 1, 1000일 때 ->무조건 0으로 판단해주면 됨. 2021. 1. 27.
백준 5단계 - 1차원 배열 1) #10818 최소, 최대 수정할 점: 범위가 지정돼 있는 입력의 경우, 모든 배열을 받고 나서 min,max값을 설정할 게 아니라 애초에 범위내의 최대최소값으로 초기화 후 scanf하면서 바로 min, max를 찾는 것이 더 효율적. 와...그리고 배열 선언 해줄 필요도 없음. 그냥 tmp에 받아서 바로바로 갱신시켜주면 되니까. 이거 다음엔 놓치지 말기 이 때 범위 끝 가장 큰 수를 min에 넣고 가장 작은 수를 max에 넣어 초기화 해줘야 올바르게 작동! 헷갈리지 말기 2) #2562 최댓값 이것도 1번과 마찬가지로 배열이 굳이 필요 없음.. 배열 단계긴 하지만 메모리를 줄이는 게 효율적이니 최대한 안 쓰고 해보기 3) #2577 숫자의 개수 이것도 포문 돌리고 그냥 한 변수에 계속 곱하는 식으로.. 2021. 1. 26.