본문 바로가기

백준 알고리즘(Java)

1157번) 단어 공부 뭔가 코드가 너무 긴데,, 처음 절반은 배열 초기화하는 부분입니다.
2941번) 크로아티아 알파벳 고민하다 다른 블로그를 참고했던 문제입니다. replaceAll 메서드를 사용하면 쉽게 풀 수 있는데 뭔가 좀 아닌 것 같아,, 일일이 풀어서 해결했습니다. 해당 문자나 문자열을 찾았을 때 ++하는 개념으로는 도저히 안풀려서... 처음 결과를 입력 문자열의 길이로 맞추어 놓고, 크로아티아 알파벳을 발견하면 --해주는 방식으로 풀었습니다. (dz=와 z=는 유념해서 푸셔야 할 듯 합니다.)
2908번) 상수
5622번) 다이얼 이 파트 문제는 거의 동일하게 진행되는 것 같습니다.
1316번) 그룹 단어 체커 각 단어마다의 검사로직은 아래와 같습니다. 알파벳 26자리로 이루어진 char 배열을 선언하고, 위 배열의 각 자리를 카운트해주는 길이 26의 int 배열을 선언해준 후 한자씩 검사를 해서 일치할 경우, 해당 인덱스의 int 배열의 값을 ++ 해줍니다. 그리고 ++ 해줄려고 할 때, if문으로,, 해당 인덱스의 값이 0이 아니고, 해당 알파벳의 값이 이전의 문자와 같지 않다면, 그 단어의 그룹단어 여부(result1)을 false로 지정해줍니다. 위 결과를 이용해 각 반복마다 전체 결과인 result2를 ++ 해줍니다.
2675번) 문자열 반복 풀다보니 한가지 궁금한 점이 생겼는데,, 주석처리된 부분처럼 String + char이 자동연산 됩니다.char -> String으로 자동 형변환이 되는 듯 하네요.
11654번) 아스키 코드
1152번) 단어의 개수 조건에 부합하지 않는 경우의 수가 잘 생각이 나지않아, 고생했습니다. 1. 입력받은 수의 앞, 뒤 " "을 없애고 2. ' '을 기준으로 단어수를 체크했는데 한 20번정도 틀린 것 같습니다. 원인은............ - 엔터만 입력했을때, - " "만 입력했을때 를 고려하지 않았기 때문입니다.