Value3 객체의 키와 값에 접근하는 방법 이상하게 생각한게 있었다 객체의 key나 value 를 접근할때 for in 문을 사용해서 객체의 속성을 순회하며 배열로 받는데 객체명.keys() 으로 객체 속성 key 값에 접근 가능한 객체가 있는가 하면 Object.keys(객체명) 으로 접근 가능한 객체가 있었다 용도는 같지만 서로 사용처가 달라서 왜 그런지, 어쩔때 둘 중 하나를 써야하는지 몰라 애를 먹곤했다 결론부터 말하자면 객체를 순회하며 데이터를 배열로 반환하고자 할때, 특수한 객체인 Map , Set , Array (자료구조) 에서만 객체명.keys() , 객체명.values() , 객체명.entries() 로 사용한다 그 외의 일반 객체에서는 Object.keys(객체명) , Object.values(객체명) ,Object.entrie.. 2022. 8. 29. a 에 b가 확인 혹은 찾는 문제는 - 해시 hash - 문제 a에 b가 있는지, 포함되어 있는지, 누가 무엇을 한 사람인지 등등의 문제는 a에서 b를 찾아 세야 되는 문제이고 해쉬 맵을 사용한 문제이다 unordered_map 과 map을 사용해서 풀자 key에는 찾을값을 넣고 value에는 숫자로 초기화 하고 카운트를 하고 빼는 것으로 있는지 없는지 확인가능하다 pair로 key와 value를 묶어서 map에 입력하거나 map[ key로 넣을 값 or배열, 상수값(상수로 map 전체 초기화) or 배열] 등을 통해 해쉬맵을 만들 수 있다 해시 맵을 만들었으면 그 해당key 일때 value를 조작하여 value를 가지는 "개수"를 찾거나 ( value로 키는 못구한다) a와 b의 겹치는 부분이 있는지를 찾기 위해서 부분의 문자열을 뽑는 substr 등으로 뽑아낸 .. 2022. 6. 21. 백준 1620/c++ )) 나는야 포켓몬 마스터 이다솜 t 대신 s를 재사용해도 다시 새로 입력 받는거니 문제없다 map 사용 시 value 값으로 key값을 찾는 방법은 없다. 있어도 너무 긴 연산이 필요하여 알고리즘에 부적합하다 그러므로 value값을 key값으로 갖고 key값을 value 값으로 갖는 새 map을 하나 더 만들어서 2개의 map 으로 사용하여 계산하는 것이 해답이다 c_str 과 atoi 를 통해서 문자열을 숫자로 변환하고 그게 가능한지 불가능하면 0를 반환하게 하는 방법이 쓰였다 문자와 숫자가 섞이지 않은 문자열이므로 가능했으며, 첫 단어가 영문자 or 숫자 로 정해져있기에 문자 0과 숫자 0을 구분해줄 isdigit 을 사용할 필요가 없었는 문제였다 굳이 map을 안쓰고 배열로 풀어보려다가 런타임 오류를 해결못해서 다시 map 으로 .. 2022. 6. 15. 이전 1 다음