본문 바로가기

코딩테스트22

백준 1213/c++ )) 팰린드롬 만들기 아스키 코드 범위 이상(127개 이상)의 배열 cnt[200] 을 만들고 입력한 문자열 s를 돌며 각 문자를 반복자가 가리킬때마다 cnt[가리킨 문자의 아스키코드 넘버]의 값을 1씩 더해주어 s의 문자별 개수 데이터를 저장한다 알파벳 뒤부터 안으로 가야하므로 Z부터 A까지 하나씩 빼며 더하여 수행한다 홀수 개수를 갖는 문자가 하나면 mid 를 만들어주고 홀수 개수를 갖는 문자가 2개 이상이면 탈출한다 빈 결과문부터 시작해서 양옆에 문자를 하나씩 붙여서 만들어주고 홀수개수 문자가 딱 하나 있어서 mid 가 있다면 결과문 시작부터 결과문 길이 반만큼의 위치에 mid를 삽입한다 홀수 개수를 갖는 문자가 2개 이상이면 실패문구를 출력하고, 그 외에는 정상 결과문을 출력한다 어려웠던 점 아스키 코드 비교를 위해 .. 2022. 6. 15.
[c++] 로또의 최고 순위와 최저 순위 처음 풀어본 프로그래머스 코딩테스트 문제이다 백준 코딩테스트는 전처리 매크로부터 메인함수까지 코드 전체를 작성해서 만들었는데 프로그래머스는 함수 부분만 구현을 하도록 하는 것 같다 초기화 하지 않은 int형에 ++을 하는 실수가 있었고(쓰레기값에 ++하니 값이 엄척나게 튀었다; 0이 하나도 없고 하나도 맞지 않은 경우 mu와 nn이 모두 0일때 lrank와 hrank가 모두 7 이 된다 하지만 최저 등수는 6등이니 if문으로 7등일때 6등으로 수정해주었다(두개 뿐이니 하나하나 설정하는게 편했다) 문제 질문하기란에 테스트 케이스 14번에서 막히는 사람들이 많던데(나도 그랬고) (모두 틀리고 0도 없는 케이스) 7등의 경우를 6등으로 바꿔주면 테스트 케이스 14번을 해결 가능하다 함수 내에서만 해결을 해야 .. 2022. 6. 15.