My question is : can I know which algorithm is efficient to use in my program without learning algoritms? I know my question is strange but I don't want to start learning algorithms in deep , I just want to solve the problem after learning an algorithm to use in this problem , so by doing this , I solved the problem and learned new algorithm :)
Do it the other way round. First try doing some random question. If you get stuck and can't figure out a solution, then read the editorial and find out the algorithms and data structures needed to solve the problem. Then learn them.
This way you will naturally get more practice at algorithms and get better at algorithms that are used more frequently.