IT/알고리즘
-
백준 2675 문자열 반복 자바스크립트 JavascriptIT/알고리즘 2022. 4. 21. 00:04
2시간 고민했으면 많이 한거 같은ㄷ.. 알고리즘은 왜이렇게 어려울까 ..? 거~의 다 왔는데 뒷부분에서 자꾸 막혔다 ㅜㅜ 스터디 같이하는 분이 마침 푸셨길래 봤는데 제일 이해가 쉬웠다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); // 2 // 3 ABC // 5 /HTP const arr = []; const count = Number(input[0]); //2 let result = '' for(let i=1; i
-
자바스크립트로 입출력 받기IT/알고리즘 2022. 4. 18. 23:09
자바스크립트로 알고리즘 문제 풀기 어쩌다보니(사실은 내가 선택했지만) 자바스크립트로 알고리즘 문제를 풀기로 한 나. 왜 그랬을까 2시간 후회했음 왜냐면 입출력부터 까다롭기때문 ㅡㅡ 사실 부트캠프 수업 들을 때 readline 머시기 어케 써서 하는걸 봤는데, 여전히 이해 안되는 식들이었음 뭐 여기서 입력을 받고 아래서 출력을 쓰는거다~ 하는데 그냥 여따 쓰면 입력이고 저따 쓰면 출력이고.. 이정도만 아는정도? 진짜 readline으로 해야되나 아 모르겠는데 하면서 readline 다시 집중해서 공부해봐야지.. 하면서 구글링 하는데 fs라는 게 있네 ? 구글링 조금만 하면 알 수 있기도 했는데, 나는 2시간 걸렸음 ㅇㅇ; 출처 (미리 공유 https://rrecoder.tistory.com/60 vscod..
-
백준 1316 그룹 단어 체커 파이썬IT/알고리즘 2022. 3. 7. 18:55
풀이 먼저 간단히 문제를 이해하고 넘어가자. 예제 3번이 가장 이해를 돕기 쉬운 예제로 느껴지는데, 5 ab aa aca ba bb 5번의 입력값을 받는데, 첫번째 ab - 서로 같은 문자가 아니며, 중복되지 않는다. 두번째 aa - 서로 같은 문자이지만, 연속되어 나온다. 세번째 aca - a가 두 개로 중복이지만, 연속되어 나오지 않는다 -1 네번째 ba - 서로 같은 문자가 아니며, 중복되지 않는다. 다섯번째 bb - - 서로 같은 문자이지만, 연속되어 나온다. 그렇기에 출력값은 4가 나온다. 찐풀이 n = int(input()) #입력값을 넣는다. for i in range(n): #입력값의 범위만큼 for문을 돌리며 a= input() #n번 입력하는 것 for j in range(len(a)-..
-
백준 2941 크로아티아 알파벳IT/알고리즘 2022. 3. 3. 22:31
풀이 alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z='] dial = input() for i in alphabet : dial = dial.replace(i, '*') print(len(dial)) replace를 쓰는구나.. 진짜 머리 좋으시다 다른분들.. 보고 적은거긴 하지만 이해는 했으니 풀이를 해본다. alphabet에 있는걸 하나씩 꺼내오는데, 이건 replace 이후에 print 값을 넣으면 어떻게 돌아가는지 더 쉽게 보인다. alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z='] dial = input() for i in alphabet : dial = dial.replace(i, '*') print(di..
-
백준 5622 다이얼 파이썬 (이해 안가는 부분 해결)IT/알고리즘 2022. 3. 2. 00:53
풀이 alphabet = ['ABC','DEF','GHI','JKL','MNO','PQRS','TUV','XWYZ'] time = 0 dial = input().upper() for i in range(len(dial)) : for j in alphabet : if dial[i] in j : time += alphabet.index(j)+3 print(time) 나도 elif 여러번 써서 하는 걸 생각했는데, 그걸 요구하는 문제가 아닌것 같아 고민하다 답이 안나와 다른 블로그 열심히 둘러봤다. 내가 이해하기 조금 어려웠던 부분은 반복문 안에 반복문 쓰인 for i in range(len(dial)) : for j in alphabet : 이 부분인데, alphabet을 j에 순서대로 넣으면 이렇게 뭉쳐서..
-
백준 1157 단어 공부 파이썬IT/알고리즘 2022. 2. 28. 22:49
풀이 word = input().upper() word_list = list(set(word)) cnt = [] for i in word_list: cnt.append(word.count(i)) max_cnt = max(cnt) index_max_cnt = cnt.index(max_cnt) if cnt.count(max_cnt) > 1: print('?') else: print(word_list[index_max_cnt]) 예제와 같이 Mississipi 를 입력했을 때로 풀이해보자. word = input().upper() 입력 시 Mississipi 는 MISSISSIPI 모두 대문자로 입력된다. word_list = list(set(word)) word_list 에는 set 함수로 중복값을 제거해준..