파이썬밀다가 왜 또 C++하냐고?? 그게... 내가 모빌리티쪽도 지원하다보니 어느 회사는 C++로 최소 한문제를 풀게시킨다... 심지어 C++는 내가 별로 안써본 언어라서 익히는데 더 걸릴 것 같다 x발... 이제 진짜 안바꿀거양.!!!! * vscode에서 c++ 개발환경 구축은 https://webnautes.tistory.com/1158 참고 * C++ 기본은 https://boycoding.tistory.com/category/ 참고 표준 입출력 #include using namespace std; int main() { cout
1차로, regex을 이용한 문제풀이를 해보려 했다. 먼저 레이저도 쇠막대기도 모두 괄호로 표현되기때문에, 레이저에 해당하는 ()를 *로 바꿀것이다. import sys import re input = sys.stdin.readline() input = re.sub(r'(\(\))','*',input) print(input) 이후에는 regexr을 이용해 괄호를 파악하고, 안에 *이 몇개있는지 세서 piece에 지속적으로 더하도록 코드를 짰다. 그리고 개수를 파악한 뒤에는 해당 쇠막대가 필요하지 않기 때문에, 해당 요소의 괄호 '('와 ')'을 ' '로 대체했다. 그러니까, input = '()(((()())(())()))(())' input = re.sub(r'(\(\))','*',input) #*((..
백준 기초문제로 되살려보는 파이썬의 기억... 출력과 출력처리 print(1,2,"어쩌구") #1 2 어쩌구 #구분을 콤마로 하면 공백을 두고 출력됨 print("1"+"2"+"어쩌구") #12어쩌구 #공백 구분을 없앨땐 +를 사용. 숫자끼리는 더해짐. 숫자형+문자형은 오류가 나므로 주의 print('지금은 {0}시 {1}분'.format(2,30)) #지금은 2시 30분 #이런 식으로 형식을 자유롭게 배정 가능. format 사용 print(f'{value:.3f}%') #실수, 소숫점세자리로 value 변수를 표현한다는 이야기. 입력 import sys a = sys.stdin.readline()# 기본 a = int(sys.stdin.readline()) # 숫자처리 a,b = sys.stdin.r..
주어지는 string을 띄어쓰기로 split한 후, 단순히 뒤집는 작업 전에, 태그를 인식해서 거기서는 뒤집는 작업이 일어나지 않게 해야한다. 1. tag 찾기 indexOf 메서드를 사용한다. 그렇지만, 한 단어에 tag가 여러개 나올 수도 있는 데 반해 indexOf는 단 하나만을 반환한다. 따라서 단순히 쓰기보단 두번째 parameter를 이용해야 한다. 이렇게 하는데... 이상하게 태그 분리가 안되는 문제가 계속 발생한다. 근데 애초에 문제는...'주어지는 string을 띄어쓰기로 split한 후' 이게 문제였다. 태그 안 띄어쓰기까지 맨 처음에 분리해버린거였음... 아오!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 이거때문에 1시간을... 즉, 애초에 split부터 틀어진 것이..
덱 문제. 문제는 쉽지만 이전 큐 문제처럼 메모리나 시간 문제가 클 것이다. 큐를 구현할때처럼 두개의 stack으로 해결해보려는데 전처럼 깔끔하게 되지가 않을 것 같아서 일단 배열 하나로 구현해보고, 메모리나 시간초과가 나면 다른 방식을 고민해보기로 했다. function solution(inputArray) { let count = +inputArray[0]; let dequeue = []; let resultArray = []; for (let i = 1; i < count + 1; i++) { const commandLine = inputArray[i].split(" "); switch (commandLine[0]) { case "push_front": dequeue.splice(0, 0, comm..
첨에 듣고 뭔소린지... 위키백과에 검색해보니 n명이 동그랗게 모여있을 때 임의의 한 명부터 순서를 세어 k번째 사람을 모임에서 제외한다. 남은 n-1명에서 다시 다음 사람부터 순서를 세서 k번째 사람을 모임에서 제외한다. 이해했음. 해당 사람을 빼고, 그 다음 index부터 또 k만큼 세서 지우고... 이걸 반복한다는 얘기였다. [1,2,3...n] 으로 이루어진 배열을 만들고, 한 바퀴를 돌기 전 해당하는 k번째 값들을 0으로 바꾼다. 한 바퀴를 돌았다고 인식하면, 0인 값들을 filter로 지우고 반복하는 코드로 짰었다. 문제는.. 후반부에 꼬이는 이유를 도저히 이해못하겠어서 그냥 복잡하게 생각 말고 직관적으로 구현해보자 생각했다. 말그대로 매번! k만큼 도는 반복문 안에서, 배열값을 하나씩 검사하..
내가 과거에 풀다 실패했던 문제;; 처음부터 기선제압당함 아마 문제가 어렵기보단 C#으로 메모리 초과나 시간 초과를 피할 수 없었던것으로 추정된다. 그치만 정말 쉬운 문제였음. 앞서 푼 문제랑 기존 구성이 비슷한데 훨씬 쉬움. function solution(inputArray) { let count = +inputArray[0]; let commandLine = []; let resultArray = []; let queue = []; for (let i = 1; i < count + 1; i++) { commandLine = inputArray[i].split(" "); //commandLine = ['push','1'] or ['front'] switch (commandLine[0]) { case ..
문제는 되게 간단한데, 맞은 사람이 적길래 아 이거, 시간 초과나 메모리 초과가 뜨는 문제겠구나 싶었다. 문제는 그냥 count만큼 for문을 돌리면서, switch문으로 char에 대조해서 cusor값과 stringArray를 조정했다. const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let inputChartext = fs.readFileSync(filePath).toString().split("\n"); let inputcharfiltered = inputChartext.filter((value) => value.length > 0); solution(inputc..
weather API를 사용해볼것이다. https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweathermap.org API KEY를 받기위해 회원가입한다. API ..
1. (element) => { } 처럼 중괄호를 쓰게 되면, return으로 값을 직접 반환해야 하며, (element) => () 처럼 소괄호를 쓰게 되면, 알아서 내부 도출 값이 return된다. 2. html에서 id값을 가져올 경우에 string으로 가져온다 그게 설령 숫자로 구성되어있어도. 생각해보면 당연하다. id값으로는 문자도 되는판에 숫자로 가져올리가 없잖아. 코드 작성할때 이거 정말 조심해야겠다... 3. 여태 배열의 모든 요소에 접근할때 for(a in b) 등의 요소를 썼는데, foreach로 가능하다. arrayname.foreach(element => ) 으로 해당 array의 모든 element마다 주어지는 함수를 실행한다. 4. 배열의 값을 수정해야 할 때 filter가 좋아..